可以在跨域子弹出窗口关闭时重新加载页面吗? IE7 +

时间:2014-05-13 21:32:02

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

关闭子弹出窗口时是否可以重新加载父页面?不幸的是,子弹出窗口位于不同的域中。如果是这样,怎么样?我正在使用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中不起作用。

1 个答案:

答案 0 :(得分:1)

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

window.name="mainwindow";

并在弹出窗口中添加

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