我有使用 window.open() 函数打开弹出窗口的 javascript 代码。我想将数据从父窗口传递到那个弹出窗口,我似乎无法在 google 或 SO 上的任何地方找到优雅或简单的解决方案,但似乎应该支持内置于 JS 的这个。将数据传递到弹出窗口的最简单方法是什么?
在此先感谢您的帮助!
我有使用 window.open() 函数打开弹出窗口的 javascript 代码。我想将数据从父窗口传递到那个弹出窗口,我似乎无法在 google 或 SO 上的任何地方找到优雅或简单的解决方案,但似乎应该支持内置于 JS 的这个。将数据传递到弹出窗口的最简单方法是什么?
在此先感谢您的帮助!
由于安全限制,它是超级容易只有当父窗口和弹出是来自同一个域。如果是这种情况,请使用以下命令:
// 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
在那之后你有什么特别想做的事情吗?
假设它是同一个域,按照 Bart 所说的去做。如果是不同的域,您可以使用哈希标签传递一些数据,例如http://www.example.com/page#some_data_for_the_page。如果您有足够的数据来保证,您可以对键/值对进行 URL 编码。
您还可以在 open.window 函数中将该变量设置为 'name' 属性,然后在新窗口中使用 window.name 来检索该值。
theWindow.someVar = "bla";