【发布时间】:2016-06-04 06:15:28
【问题描述】:
在我们的 Angulajs 控制器中,我们试图在同一个窗口中打开一个外部 URL(这是在同一个浏览器中打开 URL 的要求,而不是创建一个弹出窗口),使用以下行:
window.open("www.youraddress.com","_self")
当我们尝试获取父窗口的实例(访问控制器方法)时,我们总是得到window.opener 和undefined。你能告诉我可能是什么原因吗?
如果我们使用window.location.href="www.youraddress.com",可以看到相同的行为
请让我知道我们在这里缺少什么?
【问题讨论】:
-
我相信这是故意的。如果您在新选项卡或窗口中打开链接,您的
window.opener上只有一个值。 -
如果窗口位于不同的域中,您将无法引用打开器。如果该窗口替换了同一个窗口,那么既然您刚刚销毁了该页面,那么有什么可参考的?它就像一块白板,你把它擦掉,然后用新的内容替换它。
-
@epascarello:但更重要的是:您已将白板取出并扔进垃圾箱,并在同一个地方用 新 白板替换它。 :-)
标签: javascript html angularjs javascript-objects