2016-05-23 103 views
0

在我的應用程序中打開一個彈出窗口,我需要打開一個彈出,並顯示了一定的成果,從一個Javascript功能來。我打開彈出窗口的命令:傳遞文字的JS功能

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

其中popup.html是調用chart.js之庫用於顯示一些圖表的HTML頁面。我需要將數據傳遞到此窗口才能顯示正確的圖形。我嘗試了很多例子,但都沒有成功。我怎麼能解決這個問題?

盧卡

+0

在#hash或?search中傳遞信息。你的參數錯誤太'VAR彈出= window.open( '#popup.html parmtopass', 'windowName', '寬度= 500,高度= 500');' – mplungjan

+0

@anu - 不是一個真正的偉大的重複 – mplungjan

+0

如果頁面在同一個域中,將JSON保存在全局變量中,並以'opener.jsonvar'的形式從子項訪問它 - 或者創建一個getter並調用它:'opener.getJsonVar()' – mplungjan

回答

1

你可以通過在URL中的散列的基本數據,改變你的JS到

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

然後在popup.html頁面,您可以通過查看location訪問它。 hash變量:

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

因此,我可以簡單地聲明瞭'變種文字=「someLongText」;'在我的JS函數中,使用'window.open'函數的'popup.html#text''參數傳遞它,並將其用在popup.html頁面中的腳本中,並使用'var text2 = window.location.hash;'? –

+0

不,你必須把它作爲「popup.html#someLongText」或「popup.html#」 +文字 –