cnzz統計検査ブラウザの原理(ブラウザにまたがって実用的なソースを開発する)
CNZZはユーザエージェント文字列に従ってブラウザタイプを識別する.
JavaScript実現コードは以下の通りです.
コード抽出はOnTypeng中国語パスワードサポートライブラリより行います.
http://www.ontyping.com.転載はこの情報を保留してください.
添付ファイルのclient.jsには上記の検出コードが含まれています.使うところにclient.jsを含めるといいです.
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;
})();
次のようにCientオブジェクトを使うことができます.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を含めてブラウザのタイプをすべて統計します.コード抽出はOnTypeng中国語パスワードサポートライブラリより行います.
http://www.ontyping.com.転載はこの情報を保留してください.
添付ファイルのclient.jsには上記の検出コードが含まれています.使うところにclient.jsを含めるといいです.