我做一个window.open(popupURL)
来制作一个弹出窗口。弹出窗口重定向到其他重定向回我站点的站点。我使用window.setInterval()
来查看弹出窗口何时返回我的网站。但我找不到一种优雅地观察这种状况的方法。例如,评估表达式
popup.document.domain === window.document.domain
但似乎我不允许阅读popup.document
,因为它给出了一个错误,即当弹出窗口使用HTTPS时,开启者正在使用HTTP。我想也许我可以以某种方式使用popup.location
,以避免要求那个敏感的外国文件,但试图从popup.location
中读取任何内容会产生类似的错误。我甚至不被允许阅读popup.location.protocol
!外国网站对HTTP与HTTPS的选择真的是一个大秘密吗?
无论如何,我可以通过在空的catch块中吞下这些错误来解决这些问题。然后我的域名检查似乎工作。但有没有一种方法不涉及丑陋的捕获块?
答案 0 :(得分:0)
如何向窗口添加两个函数A.将触发onload的函数,它将调用另一个可以执行任何操作的函数。一旦弹出窗口从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 }