-
首先说明一点,这个需求完成不了,因为有的浏览器他不支持,没有window.close(),要不就会显示空白的页面,只有当前浏览器打开过其他页面,在点击我们的关闭按钮,会关闭当前的页面,要是浏览器只有我们打开的页面,那么点击关闭按钮的时候,就会显示空白页
$(".close").click(function(){
注释的代码是有兼容的,但是在uc等其他浏览器中点击没有反应,下面没有被注释的代码,是在uc等浏览器中只有我们的页面的时候,会显示空白页面,但是浏览器中有其他页面,那么就会关闭当前页面了,这里面有点bug,有的浏览器还不是太支持js中的关闭当前浏览器窗口的方法
// var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
// if (ua.match(/MicroMessenger/i) == "micromessenger") {
// //在微信中打开
// WeixinJSBridge.call('closeWindow');
// }else{
// 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 '; //火狐默认状态非window.open的页面window.close是无效的
// //window.history.go(-2);
// }
// else {
// window.opener = null;
// window.open('', '_self', '');
// window.close();
// }
// // history.back();
// document.body.style.display="none"
// // window.history.go(-2);
// // open(location, '_self').close();
// // window.open(location.href,'_self'); window.close();
// }
var userAgent = navigator.userAgent;
if (ua.match(/MicroMessenger/i) == "micromessenger") {
//在微信中打开
WeixinJSBridge.call('closeWindow');
}
if (userAgent.indexOf("Firefox") != -1 || userAgent.indexOf("Chrome") !=-1) {
window.location.href="about:blank";
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
window.opener=null;window.open('about:blank','_self','').close();
}else {
window.opener = null;
window.open("about:blank", "_self");
window.close();
}
})
网友评论