熟悉前端的都知道,火狐默认状态非window.open的页面window.close是无效的
网上有很多人说,在火狐的地址栏输入:about:config然后找到dom.allow_scripts_to_close_windows;把false改为true
看着这些人的说法,不得不说我蛋疼了
我做的是网站,我怎么去改用户的浏览器设置,我不是搞病毒的啊
难道我在网站发布一个公告“如需用火狐访问本网站,请修改浏览器器设置……”
那恐怕我会死得很快
关闭是不可能的,那就搞点折中方案。。跳转到about:blank嘛
<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
浏览器类型判断
<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
<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>