【前言】
使用js关闭当前页面时会提示Scripts may close only the windows that were opened by it,翻译为脚本可能只关闭由它打开的窗口。接下来介绍下解决办法
【主体】
(1)关闭页面的代码
//禁用预先调试和控制台开发者工具 var threshold = 160; // 打开控制台的宽或高阈值 // 每秒检查一次 window.setInterval(function() { if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold) { // window.close();//关闭页面 CloseWebPage(); } }, 1e3); function CloseWebPage() { 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(); } }
这里我为了禁用了源码的浏览,所以要关闭当前页面。但是浏览器提示脚本可能只关闭由它打开的窗口
(2)方案
window.location.href="about:blank"; window.close();
将其转为空白页
.