【发布时间】:2015-10-07 20:37:04
【问题描述】:
我正在尝试使用弹出窗口脚本文件中的 window.opener 引用来访问弹出窗口的开启程序。
考虑 popup.html 中包含的以下脚本:
http://localhost/test/popup.html
<script> alert(window.opener.test_dom); </script>
这在不涉及 iframe 时有效,我们将看到来自 popup.html 的警报消息:
http://localhost/test/base.html
<html> ... <script> var test_dom = 'test_dom'; var popup = window.open("http://localhost/test/popup.html",... </script> </html>
当有 3 个文件时存在问题.. 一个包含 iframe 的容器页面,该页面从该 iframe 中启动弹出窗口。当弹出窗口出现时,这不会显示警报消息:
C:\TestContainer\container.html
<html> ... <iframe src="http://localhost/test/base.html"> <script> var test_dom = 'test_dom'; var popup = window.open("http://localhost/test/popup.html",... </script> <iframe> </html>
也许这是一个安全限制? AFAIK base.html 和 popup.html 在同一个域中,所以我认为没有理由这样做。是否有其他方法可以通过 popup.html 脚本中的其他 DOM 属性访问开启器?我已经坚持了一天了。
除了对 opener 的引用之外,其他一切似乎在所有脚本中都按预期工作。
使用 IE 11。
感谢任何帮助!
【问题讨论】:
标签: javascript dom iframe popup