gpt4 book ai didi

javascript - 在 IE9 中,如何检测弹出窗口已重定向回同一域

转载 作者:行者123 更新时间:2023-12-02 18:55:57 25 4
gpt4 key购买 nike

编辑:由于某种原因,间隔确实看到了一些东西,但崩溃并停止循环而没有进入 if 语句

这是我的流程。

  • 窗口通过 window.open() 在同一域上打开弹出窗口
  • 弹出窗口重定向到 Twitter
  • 弹出窗口被重定向回同一域(回调网址)
  • 弹出窗口中的变量需要发送回窗口。

这在 Chrome 中工作正常,但在 IE9 上会崩溃。

我尝试过的(都可以在 Chrome 中使用)

在弹出窗口中:

window.opener.function(data);
window.close();

在窗口中:

var checkInterval = setInterval(function(){
if (win.variable){ // win = popup window!
clearInterval(checkInterval);
win.close();
// works!
}
}

但两者在 IE9 中都不起作用。我该如何解决这个问题?

最佳答案

当弹出窗口转到 Twitter 时,域不再相同,因此在 IE9 中,尝试读取页面上的变量时会崩溃。

要么检查 window.opener 是否可用(意味着您位于同一个域),并在访问变量之前确保其相同(首选),要么将 if 语句封装在 try/catch 中

var checkInterval = setInterval(function(){
try {
if (win.variable){ // win = popup window!
clearInterval(checkInterval);
win.close();
// works!
}
} catch (e) {}
}

关于javascript - 在 IE9 中,如何检测弹出窗口已重定向回同一域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15361618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com