zoukankan      html  css  js  c++  java
  • 浏览器检测JS代码(兼容目前各大主流浏览器)

    var BrowserMatch = {
        init: function () {
            this.browser = this.getBrowser().browser || "An Unknown Browser";
            this.version = this.getBrowser().version || "An Unknown Version";
            this.OS = this.getOS() || "An Unknown OS";
        },
        getOS:function(){
            if(navigator.platform.indexOf("Win")!= -1) return "Windows";
            if(navigator.platform.indexOf("Mac")!= -1) return "Mac";
            if(navigator.platform.indexOf("Linux")!= -1) return "Linux";
            if(navigator.userAgent.indexOf("iPhone")!= -1) return "iPhone/iPod";
        },
        getBrowser:function () {
            var rMsie = /(msies|trident/7)([w.]+)/;
            var rTrident = /(trident)/([w.]+)/;
            var rFirefox = /(firefox)/([w.]+)/; 
            var rOpera = /(opera).+version/([w.]+)/;
            var rNewOpera = /(opr)/(.+)/;
            var rChrome = /(chrome)/([w.]+)/;
            var rSafari = /version/([w.]+).*(safari)/;
            var ua = navigator.userAgent.toLowerCase();
            var matchBS,matchBS2;
            matchBS = rMsie.exec(ua);
            if (matchBS != null) {
                matchBS2 = rTrident.exec(ua);
                if (matchBS2 != null){
                    switch (matchBS2[2]){
                        case "4.0": return { browser : "IE", version : "8" };break;
                        case "5.0": return { browser : "IE", version : "9" };break;
                        case "6.0": return { browser : "IE", version : "10" };break;
                        case "7.0": return { browser : "IE", version : "11" };break;
                        default:return { browser : "IE", version : "Undefined" };
                    }
                }else{
                    return {browser : "IE", version : matchBS[2] || "0" };
                }
            }
            matchBS = rFirefox.exec(ua);   
            if ((matchBS != null)&&(!(window.attachEvent))&&(!(window.chrome))&&(!(window.opera))) {   
                return { browser : matchBS[1] || "", version : matchBS[2] || "0" };
            }
            matchBS = rOpera.exec(ua);                 
            if ((matchBS != null)&&(!(window.attachEvent))) {         
                return { browser : matchBS[1] || "", version : matchBS[2] || "0" };
            }
            matchBS = rChrome.exec(ua);    
            if ((matchBS != null)&&(!!(window.chrome))&&(!(window.attachEvent))) {
                matchBS2 = rNewOpera.exec(ua);             
                if(matchBS2 == null){
                    return { browser : matchBS[1] || "", version : matchBS[2] || "0" };
                }else{
                    return { browser : "Opera", version : matchBS2[2] || "0" };
                }    
            }
            matchBS = rSafari.exec(ua);                   
            if ((matchBS != null)&&(!(window.attachEvent))&&(!(window.chrome))&&(!(window.opera))) {      
                return { browser : matchBS[2] || "", version : matchBS[1] || "0" };
            }                      
        }
    };    
    BrowserMatch.init();

    调用方法:(首先得引入js文件,大家应该都懂的)

    获取浏览器名:BrowserMatch.browser;

    获取浏览器版本:BrowserMatch.version;

    获取所处操作系统:BrowserMatch.OS;

  • 相关阅读:
    PHP 时间转换Unix 时间戳
    PHP中include()与require()的区别
    PHP substr_replace() 函数
    写了个jQuery无缝滚动小插件
    Orchard代码学习笔记 1. 入口
    也作一下装配脑袋的Expression习题
    [转]IIS7.5中神秘的ApplicationPoolIdentity
    Spring.net AOP异常记入单独日志文件
    [源码学习]Razor在VS调试配置
    [备忘]WPF的Colors类
  • 原文地址:https://www.cnblogs.com/Sandon/p/5201460.html
Copyright © 2011-2022 走看看