标签:them Target may JavaScript window html 关闭 close 页面
前言
有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()不兼容谷歌浏览器
标签:them,Target,may,JavaScript,window,html,关闭,close,页面 来源: https://www.cnblogs.com/love-zf/p/15085642.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。