一、瞭解Navigator對象
Navigator:得到有關瀏覽器的資訊,所有的瀏覽器都支援Navigator對象,且是唯讀。
二、Navigator對象的屬性
--以下參考:http://www.5idev.com/p-javascript_navigator.shtml
說明:
- navigator.appCodeName:IE/Firefox/Chrome 系列瀏覽器中,它的值都是 "Mozilla"。
- navigator.appName:Firefox/Chrome 均為 Netscape。
- navigator.browserLanguage:Firefox/Chrome 返回 "undefined"。
- navigator.cpuClass:Firefox/Chrome 返回 "undefined"。
- navigator.onLine:Firefox/Chrome 返回 "undefined"。
- navigator.systemLanguage:Firefox/Chrome 返回 "undefined"。
- navigator.userLanguagee:Firefox/Chrome 返回 "undefined"。
1 <script language="javascript"> 2 //Navigator:得到有關瀏覽器的資訊,所有的瀏覽器都支援Navigator對象 3 //思考:瀏覽器包含有什麼資訊呢? 4 //Navigator對象是唯讀 5 document.write(navigator.appCodeName+"<br />"); //取得瀏覽器的代碼名:Mozilla 6 document.write(navigator.appName+"<br />"); //取得瀏覽器的名稱 7 document.write(navigator.appVersion+"<br />"); //取得瀏覽器平台和版本資訊 8 document.write(navigator.browserLanguage+"<br />"); //取得瀏覽器使用的語言(僅IE支援) 9 document.write(navigator.cookieEnabled+"<br />"); //檢測瀏覽器是否啟用cookie支援,返回布爾值10 document.write(navigator.cpuClass+"<br />"); //取得瀏覽器所在系統的CPU等級(僅IE支援)11 document.write(navigator.onLine+"<br />"); //檢測系統是否處於離線模式,返回布爾值,false 表示離線(僅IE支援)12 document.write(navigator.platform+"<br />"); //取得瀏覽器所在的作業系統平台13 document.write(navigator.systemLanguage+"<br />"); //取得瀏覽器所在的作業系統的使用語言14 document.write(navigator.userAgent+"<br />"); //取得瀏覽器用於HTTP請求的使用者代理程式頭的值15 16 </script>
三、Navigator對象的方法
---參見:w3cschool
四、檢測IE瀏覽器的版本類型
1 <script language="javascript"> 2 //檢測IE6提示升級,返回數值,顯示IE的主要版本號 3 function getIEVersion(){ 4 var ua = navigator.userAgent;//擷取使用者端資訊 5 // 檢測特殊字元串"MSIE "的位置 6 var b = ua.indexOf("MSIE "); 7 if (b < 0) { 8 return 0; 9 }10 // 截取版本號碼字串,並轉換為數值 11 return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //如:返回的8.012 }13 var IEVer = getIEVersion();14 if( IEVer == 0 ){15 alert("您使用的是非 IE 瀏覽器。");16 }else if(IEVer > 6){17 alert("您的瀏覽器版本較新。")18 }else{19 alert("您需要升級您的瀏覽器版本了!");20 }21 22 //提示:使用indexOf空格也佔位,多少個空格就佔多少位23 24 /*輸出的HTTP代理頭:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C ; .NET4.0E),看著有些複雜,對於我們去截取裡面的版本號碼8.0不容易,我們可以簡化如下形式:25 M4C;MSIE 8.0;Windows 26 然後在套用下就行了27 */28 </script>
五、檢測瀏覽器的類型
1 <script language="javascript"> 2 //檢測瀏覽器類型 3 /*雖然 Navigator 對象提供了 appName 屬性以取得瀏覽器的名稱,但很遺憾 Firefox、Chrome 等以 Netscape 代碼為基礎瀏覽器提供的瀏覽器名稱都是 Netscape。因此使用 navigator.appName 並不能嚴格區分各個瀏覽器。*/ 4 //要嚴格區分各個瀏覽器,通過navigator.userAgent 屬性包含的具體資訊來判斷。 5 var ua = navigator.userAgent.toLowerCase(); 6 var info = { 7 // IE 瀏覽器 8 ie: /msie/.test(ua) && !/opera/.test(ua), 9 // Opera 瀏覽器10 op: /opera/.test(ua),11 // Safari 瀏覽器12 sa: /version.*safari/.test(ua),13 // Chrome 瀏覽器14 ch: /chrome/.test(ua),15 // Firefox瀏覽器16 ff: /gecko/.test(ua) && !/webkit/.test(ua)17 };18 19 // 判斷並輸出結果20 (info.ie) && alert("IE 瀏覽器");21 (info.op) && alert("Opera 瀏覽器");22 (info.sa) && alert("Safari 瀏覽器");23 (info.ff) && alert("Firefox 瀏覽器");24 (info.ch) && alert("Chrome 瀏覽器");25 26 </script>