如何将任何数组传递给使用window.open()打开的窗口

时间:2011-05-01 12:27:09

标签: javascript arrays window.open

我有任何名为query[]

的数组

我打开一个新窗口:

  window.open("http://localhost:8081/myapp/Query.action","mywindow","menubar=1,resizable=1,width=600,height=400");

如何将此数组传递到新窗口,以便我可以在那里使用它。

编辑:我刚发现这个,Pass array to Window可能会提供答案。

EDIT2:问题2487420中提供的答案似乎不起作用,我使用FireFox并且openDialog从不打开新窗口

新要求:这只需要在FireFox上运行,因为我只使用它进行测试。

2 个答案:

答案 0 :(得分:4)

您无法“传递”数组,但您可以将其作为全局(或通过全局)使用,并且您的新页面可以使用以下内容:

 var theArray = window.opener.theArray;

可以访问它。

或者,您可以将数组作为参数列表传递,但如果它对服务器不感兴趣,则会有点浪费。

答案 1 :(得分:1)

您也可以在URL上传递它,例如:

window.open("http://localhost:8081/myapp/Query.action?arr=" + query.join(","), "mywindow", ...

这会将其作为逗号分隔列表传递,可以在目标页面中读取。