【问题标题】:Reload parent window on subdomain from popup从弹出窗口重新加载子域上的父窗口
【发布时间】:2020-09-26 05:19:27
【问题描述】:

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

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 是否存在?

【问题讨论】:

    标签: javascript popup cross-domain dom-events


    【解决方案1】:

    这个问题已经提出了两个星期,我得出的结论是,没有投票就没有办法做到这一点。

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

    【讨论】:

      猜你喜欢
      • 2013-05-03
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多