javascript - 关闭弹出窗口时出现问题

标签 javascript

我正在使用 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/

相关文章:

javascript - 根据 Javascript 变量值从 PHP 获取数据到 Javascript

javascript - TSLint 在本地抛出 'error TS2459: Module '“@azure/core-tracing "' declares ' Span,但未导出。”和其他错误

javascript - 如何在 Spyder IDE 中使用 Javascript?

javascript - 没有重复链接的响应式导航?

javascript - 将 JSX 元素作为数组中另一个 JSX 元素的子元素推送 (ReactJS)

javascript - 对包含 3 个元素的二维数组进行排序

javascript - Laravel 分页将问题与设计联系起来

javascript - Electron require() 未定义

php - 多个选择选项与一个 #id 显示 n 隐藏表

Javascript - 正则表达式检查用户是否写入正确的格式化输入