JavaScript - 关闭当前窗口 - Scripts may close only the windows that were opened by them.

前言

有2个页面

[ "Source.html", "Target.html", ]

其中,Target.html页面中还有几个iframe页面,

想实现的功能是,
1.点击Source.html中的一个a标签,跳转到Target.html页面,
2.在Target.html页面操作完成之后,
点击Target.html页面中的关闭按钮,关闭Target.html页面


问题出在了,
跳转到了Target.html页面之后,
不在Target.html页面的几个iframe之间切换的话,
是可以点击Target.html页面中的关闭按钮,关闭Target.html页面.

但是,如果在Target.html页面中切换几个iframe,
此时在点击Target.html页面的关闭按钮,是没有办法关闭Target.html页面的.

网络上标准答案

//第一种形式 window.opener = null; window.open('', '_self', ''); window.close(); //第2种方式 var customWindow = window.open('', '_blank', ''); customWindow.close();
// 关闭页面 closeCurrentPage() { const ua = window.navigator.userAgent; if (ua.indexOf('MSIE') > 0) { if (ua.indexOf('MSIE 6.0') > 0) { window.opener = null; window.close(); } else { window.open('', '_top'); window.top.close(); } } else { window.opener = null; window.open('', '_self', ''); window.close(); } }

使用了标准答案之后,控制台出现提示语

Scripts may close only the windows that were opened by them.

解决方案

我原来的

<a href="/Test.html?id=1" target="_blank">跳转Target.html</a>

修改后的html

<a href="javascript:;" onclick="window.open('/Test.html?id=1', '_blank')" 跳转Target.html </a>

主要就是将原来的直接跳转 href 修改为 window.open

摘抄文档


__EOF__

本文作者国产凌凌漆
本文链接https://www.cnblogs.com/love-zf/p/15085642.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   zh89233  阅读(11451)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示