利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
尤其是在当今各种浏览器满天飞(据说仅以IE为内核的浏览器就有200种之多)。
小弟今天写了个基于jQuery的插件扩展,主要用于识别浏览器内核与外壳的类型和版本。可识别各种浏览器的内核,并已经支持多种国内主流浏览器。
费话不多说,上我的JavaScript代码:(文件名:jquery.browsertype-1.0.js)
使用示例:(test.html)
小弟今天写了个基于jQuery的插件扩展,主要用于识别浏览器内核与外壳的类型和版本。可识别各种浏览器的内核,并已经支持多种国内主流浏览器。
费话不多说,上我的JavaScript代码:(文件名:jquery.browsertype-1.0.js)
代码如下:
/** * jQuery插件开发方法二:第一步:插件定义 */ jQuery.myPlugin = { //获得浏览器的内核与外壳的类型和版本 Client: function (){ //浏览器内核类型(只有五种) var engine = { ie:0, webkit:0, gecko:0, opera:0, khtml:0 }; //浏览器外壳类型(国内常见的浏览器有:360浏览器、傲游、腾讯QQ\TT浏览器、世界之窗、彗星浏览器、绿色浏览器、传统IE、谷歌Chrome、网景netscape、火狐、Opera、苹果Safari等等) var shell = { 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 }; //获得客户端浏览器的信息 var 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 shell) { 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)) { shell.version = window.opera ? window.opera.version() : RegExp.$1 ? RegExp.$1 : 'unknown';//浏览器外壳版本 shell[type] = parseFloat(shell.version); shell.type = type;//浏览器外壳类型 break; } } } //返回浏览器内核与外壳的类型和版本:engine为内核,shell为外壳 return { engine: engine, shell: shell }; } }; /** * jQuery插件开发方法二:第二步:执行插件 * jQuery.myBrowser插件:获得浏览器的内核与外壳的类型和版本 * 使用示例: * (1)浏览器内核:alert("您的浏览器信息如下:\n内核类型:"+jQuery.myBrowser.engine.type+",内核版本:"+jQuery.myBrowser.engine.version); * (2)浏览器外壳:alert("您的浏览器信息如下:\n外壳类型:"+jQuery.myBrowser.shell.type+",外壳版本:"+jQuery.myBrowser.shell.version); */ jQuery.myBrowser = jQuery.myPlugin.Client();
使用示例:(test.html)
代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>获得浏览器的信息</title> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.4.2"); google.load("jqueryui", "1.7.2"); </script> <script type="text/javascript" src="jquery.browsertype-1.0.js"></script> <script type="text/javascript"> alert("您的浏览器信息如下:\n内核类型:"+jQuery.myBrowser.engine.type+",内核版本:"+jQuery.myBrowser.engine.version); alert("您的浏览器信息如下:\n外壳类型:"+jQuery.myBrowser.shell.type+",外壳版本:"+jQuery.myBrowser.shell.version); document.writeln("您的浏览器内核类型 ――>"+jQuery.myBrowser.engine.type+":"+jQuery.myBrowser.engine.version+"<br>"); document.writeln("您的浏览器外壳类型 ――>"+jQuery.myBrowser.shell.type+":"+jQuery.myBrowser.shell.version+"<br>"); </script> </head> <body> <br/>测试浏览器的内核与外壳的类型和版本:<br/> </body> </html>
相关推荐
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
84483065 2020-09-11
momode 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28
tthappyer 2020-07-25
TONIYH 2020-07-22
tztzyzyz 2020-07-20
83510998 2020-07-18
81463166 2020-07-17