1. 程式人生 > >網頁關閉(解決window.close在火狐下不相容問題)

網頁關閉(解決window.close在火狐下不相容問題)

熟悉前端的都知道,火狐預設狀態非window.open的頁面window.close是無效的

網上有很多人說,在火狐的位址列輸入:about:config然後找到dom.allow_scripts_to_close_windows;把false改為true

看著這些人的說法,不得不說我蛋疼了

我做的是網站,我怎麼去改使用者的瀏覽器設定,我不是搞病毒的啊

難道我在網站釋出一個公告“如需用火狐訪問本網站,請修改瀏覽器器設定……”

那恐怕我會死得很快

關閉是不可能的,那就搞點折中方案。。跳轉到about:blank嘛

[javascript] view plaincopy
  1. <script type=
    "text/javascript">  
  2.     function CloseWebPage() {  
  3.         if (navigator.userAgent.indexOf("MSIE") > 0) {  
  4.             if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {  
  5.                 window.opener = null; window.close();  
  6.             }  
  7.             else {  
  8.                 window.open(''
    '_top'); window.top.close();  
  9.             }  
  10.         }  
  11.         elseif (navigator.userAgent.indexOf("Firefox") > 0) {  
  12.             window.location.href = 'about:blank ';  
  13.             //window.history.go(-2);
  14.         }  
  15.         else {  
  16.             window.opener = null;   
  17.             window.open(''
    '_self''');  
  18.             window.close();  
  19.         }  
  20.     }  
  21. </script>  

附送點其他有用的JS

瀏覽器型別判斷

[javascript] view plaincopy
  1. <script language="JavaScript">    
  2.     <!--    
  3. function getOs()    
  4. {    
  5.     var OsObject = "";    
  6.    if(navigator.userAgent.indexOf("MSIE")>0) {    
  7.         return"MSIE";    
  8.    }    
  9.    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){    
  10.         return"Firefox";    
  11.    }    
  12.    if(isSafari=navigator.userAgent.indexOf("Safari")>0) {    
  13.         return"Safari";    
  14.    }     
  15.    if(isCamino=navigator.userAgent.indexOf("Camino")>0){    
  16.         return"Camino";    
  17.    }    
  18.    if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){    
  19.         return"Gecko";    
  20.    }    
  21. }    
  22.  alert("您的瀏覽器型別為:"+getOs());    
  23.     -->    
  24. </script>   

火狐瀏覽器支援window.event

[javascript] view plaincopy
  1. <script type="text/javascript">  
  2.     if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)   
  3.     {          
  4.         var _E = function(){  
  5.             var c=_E.caller;   
  6.             while(c.caller)c=c.caller;   
  7.             return c.arguments[0]  
  8.         };          
  9.         __defineGetter__("event", _E);   
  10.     }  
  11. </script>