从弹出窗口重新加载子域上的父窗口



在这种情况下,我如何重新加载父页面:

Parent domain: sub.abc.com
Popup domain: abc.com

从弹出窗口中使用window.opener.location.reload();仅在域相等时有效(当弹出窗口是父域的子域时也应如此)。

我已尝试在父级中的onunload事件上重新加载:

var targetWin = window.open(...
targetWin.onunload = function(){ 
    window.location.reload(); 
}; 

这触发得太早,可能是因为弹出窗口重定向。

我还试图在父级中显式设置域,如下所示:

document.domain = "abc.com";

这没有效果,我仍然得到错误

不安全的JavaScript尝试访问具有URL的帧http‍://sub.example.com/来自URL为http的框架‍://example.com.域、协议和端口必须匹配。

我是否必须求助于一些可怕的轮询功能来检查targetWin.closed == true

这个问题已经提出了两周,我得出的结论是,如果不进行民意调查,就无法做到这一点。

正如问题中所述,原因是父域是弹出窗口的子域。

相关内容

  • 没有找到相关文章

最新更新