2016-05-23 5 views
0

In meiner Anwendung muss ich ein Popup öffnen und einige Ergebnisse anzeigen, die von einer Javascript-Funktion kommen. Ich öffne das Popup-Fenster mit dem Befehl:Text an ein Popup-Fenster übergeben, das in einer JS-Funktion geöffnet wurde

var popup=window.open('popup.html', 'width=500', 'height=500');

wo popup.html ist eine HTML-Seite, die für die einige Diagramme, die die chart.js Bibliothek aufruft. Ich muss Daten an dieses Fenster übergeben, um das korrekte Diagramm anzuzeigen. Ich habe viele Beispiele ausprobiert, aber keine funktionierte. Wie könnte ich dieses Problem lösen?

Luca

+0

Übergeben Sie Informationen in #hash oder? Suche. Deine Parameter sind auch falsch 'var popup = window.open ('popup.html # parmopass', 'windowName', 'width = 500, height = 500');' – mplungjan

+0

@anu - nicht wirklich ein großartiges Duplikat – mplungjan

+0

Wenn die Seiten Sind auf der gleichen Domain, speichern Sie das JSON in einer globalen Var und greifen Sie auf das Kind als 'opener.jsonvar' zu - oder erstellen Sie einen Getter und nennen Sie es:' opener.getJsonVar() ' – mplungjan

Antwort

1

Sie Basisdaten in der URL-Hash passieren könnte, Ihre JS ändern

var popup=window.open('popup.html#MY_DATA', 'myWindow','width=500,height=500'); 

und dann in der popup.html Seite Sie es, indem Sie in die location zugreifen können. hash Variable:

window.location.hash 
//This will be "#MY_DATA" 
+0

http://stackoverflow.com/questions/2430936/whats-the-difference-between-window-location-and-document-location-in-javascrip – mplungjan

+0

So kann ich einfach eine 'var text =" someLongText ";' in meiner JS-Funktion übergeben Sie es mit dem '' popup.html # text''-Parameter der 'window.open'-Funktion und verwenden Sie es in einem Skript, das in der popup.html-Seite enthalten ist, mit einer Zeile wie' var text2 = window.location.hash; '? –

+0

Nein, Sie müssten es als 'popup.html # someLongText' oder 'popup.html #' + Text übergeben –