利用jQuery外掛程式擴充識別瀏覽器核心與外殼的類型和版本的實現代碼_jquery

來源:互聯網
上載者:User
尤其是在當今各種瀏覽器滿天飛(據說僅以IE為核心的瀏覽器就有200種之多)。
  小弟今天寫了個基於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、GoogleChrome、網景netscape、Firefox、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>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.