2

我做了window.open(popupURL)一个弹出窗口。弹出窗口重定向到重定向回我的站点的其他站点。我window.setInterval()过去常常观察弹出窗口何时返回我的网站。但我找不到优雅地观察这种情况的方法。例如,评估表达式对我来说是有意义的

popup.document.domain === window.document.domain

但似乎我不允许阅读popup.document,因为它给了我一个与打开器使用 HTTP 而弹出窗口使用 HTTPS 的事实相关的错误。我想也许我可以popup.location以某种方式使用,以避免询问那个敏感的外国文件,但是试图从中读取任何东西都会popup.location产生类似的错误。我什至不被允许阅读popup.location.protocol!国外网站选择HTTP还是HTTPS真的有这么大的秘密吗?

无论如何,我可以通过在一个空的 catch 块中吞下这些错误来解决这些问题。然后我上面的域检查似乎有效。但是有没有办法不涉及丑陋的 catch 块?

4

1 回答 1

0

向窗口 A 添加两个函数怎么样。一个函数将在加载时触发,它将调用另一个函数,该函数将执行您想要的任何操作。不确定一旦弹出窗口从 B 重定向到 A 它将如何工作 - 也就是说,它是否可以访问 window.opener ......

在伪代码中:

//This code will go in the window A, which is also loaded in a popup after a redirect.
window.onload = function(){
  if( window.opener && !window.opener.closed ){//This is to make sure only the popup will call it.
    doSomething();
  }
}

function doSomething(){ //Do soemthing }
于 2013-10-08T02:26:29.713 回答