网页关闭(解决window.close在火狐下不兼容问题)

熟悉前端的都知道,火狐默认状态非window.open的页面window.close是无效的

网上有很多人说,在火狐的地址栏输入:about:config然后找到dom.allow_scripts_to_close_windows;把false改为true

看着这些人的说法,不得不说我蛋疼了

我做的是网站,我怎么去改用户的浏览器设置,我不是搞病毒的啊

难道我在网站发布一个公告“如需用火狐访问本网站,请修改浏览器器设置……”

那恐怕我会死得很快

关闭是不可能的,那就搞点折中方案。。跳转到about:blank嘛


[javascript] view plaincopy

<script type="text/javascript">
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.history.go(-2);
}
else {
window.opener = null;
window.open('', '_self', '');
window.close();
}
}
</script>


附送点其他有用的JS

浏览器类型判断


[javascript] view plaincopy

<script language="JavaScript">
<!--
function getOs()
{
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}

}
alert("您的浏览器类型为:"+getOs());
-->
</script>

火狐浏览器支持window.event
[javascript] view plaincopy

<script type="text/javascript">
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
{
var _E = function(){
var c=_E.caller;
while(c.caller)c=c.caller;
return c.arguments[0]
};
__defineGetter__("event", _E);
}
</script>

转自:http://blog.csdn.net/bdstjk/article/details/7473748

 
原文地址:https://www.cnblogs.com/dead-trap-ramble/p/3545660.html