jquery判斷瀏覽器版本外掛程式,jquery-browser.js

來源:互聯網
上載者:User

標籤:ret   safari   explorer   height   code   tor   fse   下載   set   

一、jquery判斷瀏覽器版本外掛程式,jquery-browser.js

 

jquery 1.9 之後已經刪除判斷瀏覽器版本的方法:

$.browser.msie 

$.browser.version

原因是:

 

注意:通過user agent字串來檢測瀏覽器不是一個好主意,在1.9中將完全移除該方法,不過你可以使用jQuery Migrate(遷移)外掛程式。或者你可以試試Modernizr。

 

但如果想用怎麼辦呢?

 

二、解決方案:

 

複製下面的代碼,儲存為jquery-browser.js,在jquery.js下增加jquery-browser.js,就可以使用jquery刪除的瀏覽器版本判斷的方法了。

 

附件也有檔案,可直接下載。

 

    (function(jQuery) {                if (jQuery.browser)              return;                jQuery.browser = {};          jQuery.browser.mozilla = false;          jQuery.browser.webkit = false;          jQuery.browser.opera = false;          jQuery.browser.msie = false;                var nAgt = navigator.userAgent;          jQuery.browser.name = navigator.appName;          jQuery.browser.fullVersion = ‘‘ + parseFloat(navigator.appVersion);          jQuery.browser.majorVersion = parseInt(navigator.appVersion, 10);          var nameOffset, verOffset, ix;                // In Opera, the true version is after "Opera" or after "Version"          if ((verOffset = nAgt.indexOf("Opera")) != -1) {              jQuery.browser.opera = true;              jQuery.browser.name = "Opera";              jQuery.browser.fullVersion = nAgt.substring(verOffset + 6);              if ((verOffset = nAgt.indexOf("Version")) != -1)                  jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);          }          // In MSIE, the true version is after "MSIE" in userAgent          else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {              jQuery.browser.msie = true;              jQuery.browser.name = "Microsoft Internet Explorer";              jQuery.browser.fullVersion = nAgt.substring(verOffset + 5);          }          // In Chrome, the true version is after "Chrome"          else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {              jQuery.browser.webkit = true;              jQuery.browser.name = "Chrome";              jQuery.browser.fullVersion = nAgt.substring(verOffset + 7);          }          // In Safari, the true version is after "Safari" or after "Version"          else if ((verOffset = nAgt.indexOf("Safari")) != -1) {              jQuery.browser.webkit = true;              jQuery.browser.name = "Safari";              jQuery.browser.fullVersion = nAgt.substring(verOffset + 7);              if ((verOffset = nAgt.indexOf("Version")) != -1)                  jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);          }          // In Firefox, the true version is after "Firefox"          else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {              jQuery.browser.mozilla = true;              jQuery.browser.name = "Firefox";              jQuery.browser.fullVersion = nAgt.substring(verOffset + 8);          }          // In most other browsers, "name/version" is at the end of userAgent          else if ((nameOffset = nAgt.lastIndexOf(‘ ‘) + 1) < (verOffset = nAgt                  .lastIndexOf(‘/‘))) {              jQuery.browser.name = nAgt.substring(nameOffset, verOffset);              jQuery.browser.fullVersion = nAgt.substring(verOffset + 1);              if (jQuery.browser.name.toLowerCase() == jQuery.browser.name                      .toUpperCase()) {                  jQuery.browser.name = navigator.appName;              }          }          // trim the fullVersion string at semicolon/space if present          if ((ix = jQuery.browser.fullVersion.indexOf(";")) != -1)              jQuery.browser.fullVersion = jQuery.browser.fullVersion                      .substring(0, ix);          if ((ix = jQuery.browser.fullVersion.indexOf(" ")) != -1)              jQuery.browser.fullVersion = jQuery.browser.fullVersion                      .substring(0, ix);                jQuery.browser.majorVersion = parseInt(‘‘ + jQuery.browser.fullVersion, 10);          if (isNaN(jQuery.browser.majorVersion)) {              jQuery.browser.fullVersion = ‘‘ + parseFloat(navigator.appVersion);              jQuery.browser.majorVersion = parseInt(navigator.appVersion, 10);          }          jQuery.browser.version = jQuery.browser.majorVersion;      })(jQuery);  

另外網上也有另一個外掛程式,原理是一樣的。本人沒有測試過,先記錄在這裡吧:

    jQuery.extend({          browser: function()           {              var              rwebkit = /(webkit)\/([\w.]+)/,              ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,              rmsie = /(msie) ([\w.]+)/,              rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,                  browser = {},              ua = window.navigator.userAgent,              browserMatch = uaMatch(ua);                    if (browserMatch.browser) {                  browser[browserMatch.browser] = true;                  browser.version = browserMatch.version;              }              return { browser: browser };          },      });            function uaMatch(ua)       {              ua = ua.toLowerCase();                    var match = rwebkit.exec(ua)                          || ropera.exec(ua)                          || rmsie.exec(ua)                          || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)                          || [];                    return {                  browser : match[1] || "",                  version : match[2] || "0"              };      }  

:地址1

    文章來自:http://fanshuyao.iteye.com/blog/2312963

jquery判斷瀏覽器版本外掛程式,jquery-browser.js

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.