【问题标题】:Possible to reload the page when a cross domain child popup window is closed? IE7+关闭跨域子弹出窗口时可以重新加载页面吗? IE7+
【发布时间】:2014-07-01 18:13:44
【问题描述】:

当子弹出窗口关闭时是否可以重新加载父页面?不幸的是,子弹出窗口位于不同的域中。如果是这样,怎么做?我正在使用 IE7+,但该站点处于兼容模式。即,我正在尝试做类似的事情:

//in parent window
var popup = window.open('http://otherdomain.com/popup', '', 'status=no,toolbar=no,scrollbars=yes,menubar=no,directories=no,location=no,top=0,left=0,resizable=yes');

popup.onunload = function(){
    window.location = window.location;
};

我在同一个域中进行了一些代码工作,但是当跨域时,产生了:

0x800a0046 - JavaScript runtime error: Permission denied

我知道弹出窗口是一种不好的做法,但在这种情况下我必须这样做。

似乎postmessage在IE7中不起作用。

【问题讨论】:

    标签: javascript internet-explorer popup internet-explorer-7 cross-domain


    【解决方案1】:

    如果可以在弹出窗口中添加代码,请在父窗口中添加此代码

    window.name="mainwindow";
    

    并在弹出窗口中添加它

    window.onbeforeunload=function() {
      window.open("http://openersite.com/whatever","mainwindow");
    }
    

    【讨论】:

    • 如果父窗口关闭了,那么子窗口也关闭了,会再次打开父窗口,可惜
    • 是的,确实如此。您可以在弹出窗口中添加一个框架,以便父级也可以将其关闭
    猜你喜欢
    • 1970-01-01
    • 2012-07-09
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多