「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」
应用场景:
在一个项目中需要打开不同tab页面进行数据操作,在第二个页面操作完成后,需要返回上一个tab 页,所以需要js程序主动关闭浏览器窗口,然后在上一个tab如何监控 tab页的关闭(上一篇掘金推文)
一. 如何js关闭当前浏览器窗口
window.open(*URL,name,specs)
url:弹出窗口的路径【必选】
name:弹出窗口的名字【可选】
specs:弹出窗口的样式(类型为字符串,结构如“attr1=xxx1,attr2=xxx2”,不能有空格,关于这个参数的可选值网上很多,在此不做赘述。需要注意的是其中很多属性在浏览器中表现差异较大,建议对窗口样式要求不高时选择window.open)【可选】
1. 不带任何提示关闭窗口的js代码
<a href="javascript:window.opener=null;window.open('','_self');window.close();">关闭</a>
2.自定义提示关闭
代码如下:
<script language="javascript"> // 这个脚本是 ie6和ie7 通用的脚本 function custom_close(){ if (confirm("您确定要关闭本页吗?")){ window.opener=null; window.open('','_self'); window.close(); }else{ } } </script>
3.关闭当前页面:
//通过按钮操作控制页面
<a href="javascript:window.opener=null;window.close();">关闭</a>如果是按钮则:
或
<a href="#" onclick="close_window();return false;">close</a>
return false
在这里防止事件的默认行为。否则,浏览器将跳转到那个URL。
现在window.confirm()
对话框上的选项将是OK和Cancel(不是和否)。如果您确实需要“是”和“否”,则需要创建某种模式的Javascript对话框。
注意: 与上面有不同的浏览器差异。如果你用Javascript(通过
window.open()
)打开窗口,那么你可以用JavaScript关闭窗口。Firefox不允许你关闭其他窗口。我相信IE会要求用户确认。其他浏览器可能有所不同。
二.浏览器兼容性下的关闭页面
FF中需要修改配置window.close方法才能有作用,为了不需要用户去手动修改,所以用一个空白页面显示并且让后退按钮失效
Opera浏览器旧版本(小于等于12.16版本)内核是Presto,window.close方法有作用,但页面不是关闭只是跳转到空白页面,后退按钮有效,也需要特殊处理
function CloseWebPage(){
//. ie浏览器
if (navigator.userAgent.indexOf("MSIE") > 0) {
if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
window.opener = null;
window.close();
} else {
window.open('', '_top');
window.top.close();
}
}//火狐浏览器
else if (navigator.userAgent.indexOf("Firefox") > 0) {
window.location.href = 'about:blank ';
} else {//谷歌等其他浏览器
window.opener = null;
window.open('', '_self', '');
window.close();
}
}
今天的文章js关闭浏览器页面选项卡分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/17906.html