我正在使用 window.open
创建一个弹出窗口,稍后可以通过 opener
调用 close()
关闭它没问题,问题是当弹出窗口导航到不同的 url 时,close()
将不执行任何操作。
我正在使用 IE9。
我用来测试的代码是:
var popup = window.open($(this).attr("href"), "Popup", "width=550,height=300,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0");
setTimeout(function () {
popup.close();
}, 1000);
如果弹出窗口没有导航到另一个 url,它会关闭,但如果是,它不会关闭...
谢谢!
最佳答案
这是一项安全功能,与单源策略相关。一旦 opener 和 openee 的域不再匹配,浏览器将阻止 close
之类的操作。这只是生活中的一个事实,它使网络成为一个整体上不那么令人讨厌的地方(至少从安全 Angular 来看)。
关于javascript - 关闭弹出窗口时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6418607/