我有javascript代码使用window.open()函数打开一个弹出窗口。我想将数据从父窗口传递到弹出窗口,我似乎无法在google或SO上的任何地方找到优雅或简单的解决方案,但似乎应该支持这种内置于JS中。将数据传递到弹出窗口的最简单方法是什么?
提前感谢您的帮助!
答案 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";