2016-05-23 62 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#” +文字 –