jquery判断浏览器版本插件,jquery-browser.js

一、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

时间: 2024-10-11 06:44:38

jquery判断浏览器版本插件,jquery-browser.js的相关文章

基于jquery判断浏览器版本过低代码

基于jquery判断浏览器版本过低代码.这是一款对不支持HTML5跟CSS3代码的浏览器提示用户更换特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div style="display: none" id="browser_ie"> <div class="brower_info"> <div class="notice_info"> <p> 你的

JQuery 判断浏览器及其版本

JQuery 中用 方法 jQuery.browser 来判断浏览器,返回值可以为: safari opera msie mozilla. 当然有时候我们还需要区分版本 这就要用到 jQuery.browser.version function JudgeBroswer() { if($.browser.msie) { alert("this is msie!"); //IE } else if($.browser.safari) { alert("this is safar

js/jquery判断浏览器的方法小结

在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把各种判断方法都总结一下,希望对大家有所帮助 JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEnabled() MIM

js/jquery判断浏览器的方法总结

JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:navigator.javaEnabled()MIME类型(数组):navigator.mimeTypes系统平台:navigator.platform插件(数组):navigator.plugins用户代理:navigator.userAgent js判断IE浏览器的四种方法:方法一: if(windo

利用jQuery判断浏览器的版本和类型

利用jQuery判断浏览器的版本:现在各种版本的浏览器满天飞,不能说是一种坏事,因为版本多了就会出现竞争,能够提高产品的质量,给用户带来了好处,但是也给程序员带来了无穷的烦恼.由于不同版本的浏览器可能会对同样的代码有不同的解读,所以要根据不同的浏览器写不同的代码,所以就要对浏览器的版本和类型进行判断.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta

JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)

<script type="text/javascript">        //jquery判断浏览器信息        $(function(){            var bro=$.browser;//获取浏览器用户代理信息;            var bro_msie=bro.msie;//判断是否为ie浏览器,假如为ie浏览器就返回:true,否则返回:undefined;            var bro_firefox=bro.mozilla;/

jquery判断浏览器类型的代码

jquery判断浏览器类型的代码 Jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,建议学习Jquery的朋友学习下,了解一下思路. 主要使用的方法:$.browser.['浏览器关键字'] . 代码如下: $(function() { if($.browser.msie) { alert("this is msie"); } else if($.browser.safari) { alert("this is saf

怎么用jquery判断浏览器类型和版本号?

用jquery判断浏览器类型:判断浏览器类型是IE浏览器还是火狐甚至是opera或者苹果浏览器safari,jquery 特效代码如下:判断浏览器类型和版本号如下: 怎么用jquery判断浏览器类型? 用jquery判断浏览器类型:判断浏览器类型是IE浏览器还是火狐甚至是opera或者苹果浏览器safari,jquery 特效代码如下: <script type="text/javascript" src="jquery-1.3.2.min.js">&l

Jquery 判断浏览器类型

$(function() { //FireFox2及以上 if ($.browser.MozillaSideBar && $.browser.version >= "1.8") { } //Safari if ($.browser.safari) { } //Chrome if ($.browser.chrome) { } //Opera if ($.browser.opera) { } //IE6及以下 if ($.browser.msie &&