浏览器嗅探器(转)
Posted hyds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器嗅探器(转)相关的知识,希望对你有一定的参考价值。
浏览器检测是在工作中经常用到的,如果只是简单判断当前是什么浏览器的话可以通过window.navigator.useragent这样的js来直接判断就可以了!
但是针对浏览器版本要求比较高的时候,如果只是单纯的判断浏览器的名字的话还不能解决问题,这时候就要通过其他方式来实现!现有的jquery已经废弃了$.browser的使用,所以在这里我介绍一个叫做"浏览器嗅探器"的程序来实现!
代码如下:(BrowserDetect.js)
- 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();
使用方式如下:
这个js兼容非常不错!使用起来比较简单,而且功能强大!
以上是关于浏览器嗅探器(转)的主要内容,如果未能解决你的问题,请参考以下文章
WebCookiesSniffer(网页Cookies嗅探器)