瀏覽器檢測(BrowserDetect.js)

瀏覽器檢測是在工做中常常用到的,若是隻是簡單判斷當前是什麼瀏覽器的話能夠經過window.navigator.useragent這樣的js來直接判斷就能夠了!jquery

可是針對瀏覽器版本要求比較高的時候,若是隻是單純的判斷瀏覽器的名字的話還不能解決問題,這時候就要經過其餘方式來實現!現有的jquery已經廢棄了$.browser的使用,因此在這裏我介紹一個叫作"瀏覽器嗅探器"的程序來實現!瀏覽器

代碼以下:(BrowserDetect.js)app

複製代碼
var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [ { string: navigator.userAgent, subString: "Chrome", identity: "Chrome" }, { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" }, { string: navigator.vendor, subString: "Apple", identity: "Safari", versionSearch: "Version" }, { prop: window.opera, identity: "Opera" }, { string: navigator.vendor, subString: "iCab", identity: "iCab" }, { string: navigator.vendor, subString: "KDE", identity: "Konqueror" }, { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" }, { string: navigator.vendor, subString: "Camino", identity: "Camino" }, { // for newer Netscapes (6+)  string: navigator.userAgent, subString: "Netscape", identity: "Netscape" }, { string: navigator.userAgent, subString: "MSIE", identity: "Internet Explorer", versionSearch: "MSIE" }, { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" }, { // for older Netscapes (4-)  string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" } ], dataOS : [ { string: navigator.platform, subString: "Win", identity: "Windows" }, { string: navigator.platform, subString: "Mac", identity: "Mac" }, { string: navigator.userAgent, subString: "iPhone", identity: "iPhone/iPod" }, { string: navigator.platform, subString: "Linux", identity: "Linux" } ] }; BrowserDetect.init();
複製代碼

使用方式以下:ide

BrowserDetect.browser;// 瀏覽器的名稱,例如Firefox,IE BrowserDetect.version;//瀏覽器的版本,好比,七、11 BrowserDetect.OS;//瀏覽器所宿主的操做系統,好比Windows、Linux

 這個js兼容很是不錯!使用起來比較簡單,並且功能強大!post

相關文章
相關標籤/搜索