JavaScript - 关闭当前窗口 - Scripts may close only the windows that were opened by them.
2021/8/1 7:05:57
本文主要是介绍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
摘抄文档
- stackoverflow.window.close() doesn't work - Scripts may close only the windows that were opened by it
- 好记的博客.JavaScript关闭当前页
- pencilcool.关闭浏览器当前窗口问题:js方法window.close()不兼容谷歌浏览器
这篇关于JavaScript - 关闭当前窗口 - Scripts may close only the windows that were opened by them.的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)