2012-04-11 7 views
2

Ich öffne eine Seite mit window.open(). Gibt es eine Möglichkeit, ein JSON-Objekt vom übergeordneten zur untergeordneten Seite zu übergeben? Natürlich kann das Schreiben von Daten in einen Cookie vom Elternteil und das Lesen desselben Cookies von der neuen Seite eine Option sein. Irgendwelche einfacheren Wege?Übergeben Sie JSON-Objekt von einer HTML-Seite zu einer anderen

Antwort

1

EDIT

var options = {foo:'foo'}; 
var myURL="http://localhost"; 
window.open(myURL + "/?options=" + JSON.stringify(options)); 

nicht diesen Code testen habe vor, versuchen Sie dies, können Sie es erhalten Zugang durch

+0

Es hat nicht funktioniert. Wenn ich versuche, es in der Kindseite zu lesen, erhalte ich eine Fehlermeldung, dass das Objekt nicht definiert ist. – developer747

+0

Ich habe den Code bearbeitet und es funktioniert – riso

+0

Ich wusste, dass ich eine Abfragezeichenfolge verwenden könnte. Ich wollte das nicht tun, weil die Daten mehr sind, als die Abfragezeichenfolge verarbeiten kann :( – developer747

1

Ich sehe es gibt mehrere Möglichkeiten, dies zu tun:

  1. Kekse. Schreiben Sie Werte in Cookies und lesen Sie sie im geöffneten Fenster.
  2. Pass als Teil der URL hash: window.open (url + '#' + encodeURIComponent (JSON.stringify (json));
  3. Ich würde versuchen, zu

    winRef = window.open (. ..);

    winRef.postMessage (...);

https://developer.mozilla.org/en/DOM/window.postMessage

ich die dritte Option nicht versucht, aber es könnte eine gute Alternative zu 1 und 2 sein.

Verwandte Themen