将数据传递到我使用window.open()创建的弹出窗口的最快方法?

时间:2009-12-02 02:43:09

标签: javascript

我有javascript代码使用window.open()函数打开一个弹出窗口。我想将数据从父窗口传递到弹出窗口,我似乎无法在google或SO上的任何地方找到优雅或简单的解决方案,但似乎应该支持这种内置于JS中。将数据传递到弹出窗口的最简单方法是什么?

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:48)

由于安全限制,如果父窗口和弹出窗口来自同一个域,则 如果是这种情况,请使用:

// Store the return of the `open` command in a variable
var newWindow = window.open('http://www.mydomain.com');

// Access it using its variable
newWindow.my_special_setting = "Hello World";

在子(弹出窗口)窗口中,您可以像这样访问该变量:

window.my_special_setting

你有什么特别想做的吗?

答案 1 :(得分:3)

假设它是同一个域名,那么巴特说。如果它是不同的域,您可以使用哈希标记传递一些数据,例如http://www.example.com/page#some_data_for_the_page。如果您有足够的数据可以保证,可以对键/值对进行URL编码。

答案 2 :(得分:0)

您还可以在open.window函数中将变量设置为'name'属性,然后在新窗口中使用window.name检索值。

答案 3 :(得分:-3)

theWindow.someVar = "bla";