首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 跨浏览器开发 >

cnzz统计 检测浏览器原理(跨浏览器开发适用源码)

2012-10-17 
cnzz统计 检测浏览器原理(跨浏览器开发实用源码)CNZZ根据用户代理字符串识别浏览器类型JavaScript实现代码

cnzz统计 检测浏览器原理(跨浏览器开发实用源码)
CNZZ根据用户代理字符串识别浏览器类型

JavaScript实现代码如下

(function() {    var Client = function() {var engine = { ie: 0, webkit: 0, gecko: 0, opera: 0, khtml: 0 },browser = { se360: 0, se: 0, maxthon: 0, qq: 0, tt: 0, theworld: 0, cometbrowser: 0, greenbrowser: 0, ie: 0, chrome: 0, netscape: 0, firefox: 0, opera: 0, safari: 0, konq: 0 },ua = navigator.userAgent.toLowerCase();for (var type in engine) {if (typeof type === 'string') {var regexp = 'gecko' === type ? /rv:([\w.]+)/ : RegExp(type + '[ \\/]([\\w.]+)');if (regexp.test(ua)) {engine.version = window.opera ? window.opera.version() : RegExp.$1;engine[type] = parseFloat(engine.version);engine.type = type;break;}}}for (var type in browser) {if (typeof type === 'string') {var regexp = null;switch(type) {case "se360": regexp = /360se(?:[ \/]([\w.]+))?/; break;case "se": regexp = /se ([\w.]+)/; break;case "qq": regexp = /qqbrowser\/([\w.]+)/; break;case "tt": regexp = /tencenttraveler ([\w.]+)/; break;case "safari": regexp = /version\/([\w.]+)/; break;case "konq": regexp = /konqueror\/([\w.]+)/; break;case "netscape": regexp = /navigator\/([\w.]+)/; break;default: regexp = RegExp(type + '(?:[ \\/]([\\w.]+))?');}if (regexp.test(ua)) {browser.version = window.opera ? window.opera.version() : RegExp.$1 ? RegExp.$1 : 'unknown';browser[type] = parseFloat(browser.version);browser.type = type;break;}}}return { engine: engine, browser: browser };}();window.Client = Client;})();



你可以像下面这样使用Client对象

document.writeln('您的浏览器内核 → '+Client.engine.type+':'+Client.engine.version);var browser = { se360: '360安全浏览器', se: '搜狗高速浏览器', maxthon: '遨游', qq: 'QQ浏览器', tt: '腾讯TT', theworld: '世界之窗', cometbrowser: '彗星浏览器', greenbrowser: 'GreenBrowser', ie: '微软IE', chrome: '谷歌Chrome', netscape: '网景', firefox: '火狐', opera: 'Opera', safari: '苹果Safari', konq: 'Konqueror' };document.writeln('您的浏览器 → '+browser[Client.browser.type]+':'+Client.browser.version);if(Client.engine.ie) { alert('您使用的是IE内核浏览器!'); };if(Client.engine.ie && Client.engine.ie < 8 ) { alert('您使用的是IE内核浏览器,但是版本低于IE8!'); };



以上代码在所有主流浏览器下完美通过测试。包括CNZZ统计所有的浏览器类型。

代码提取自 OnTyping 中文密码支持库http://www.ontyping.com。转载请保留此信息。

附件里client.js包含了上面的检测代码。在用到的地方包含client.js即可。
1 楼 dodoluck 2011-05-21   在360下测试,打出“您的浏览器内核 → ie:8.0 您的浏览器 → 微软IE:8.0 ” 2 楼 ontyping 2011-05-27   dodoluck 写道在360下测试,打出“您的浏览器内核 → ie:8.0 您的浏览器 → 微软IE:8.0 ”


3Q大战遗留的问题。360伪装IE浏览器。

cnzz也有同样的问题。 3 楼 cuixiping 2011-05-27   一般把cnzz列为屏蔽内容,这家伙太拖速度了。cnzz性能很糟糕,提改进意见都没人理会。

热点排行