zoukankan      html  css  js  c++  java
  • QWrap的浏览器检测

    有时需要根据不同的浏览器,做不同的事。
    这就需要我们对浏览器以及版本作检测。
    QWrap的Browser主要代码如下。

    var QW={};
    /**
    * @class Browser js的运行环境,浏览器以及版本信息。(Browser仅基于userAgent进行嗅探,存在不严谨的缺陷。)
    * @singleton
    * @namespace QW
    */
    QW.Browser
    =function(){
    var na = window.navigator,
    ua
    = na.userAgent.toLowerCase(),
    browserTester
    = /(msie|webkit|gecko|presto|opera|safari|firefox|chrome|maxthon)[ \/]([\d.]+)/ig,
    Browser
    = {platform: na.platform};
    ua.replace(browserTester,
    function(a,b,c){
    var bLower=b.toLowerCase();
    Browser[bLower]
    =c;
    });
    if(Browser.opera) {//Opera9.8后版本号位置变化
    ua.replace(/opera.*version\/([\d.]+)/, function(a,b){Browser.opera=b;});
    }
    if(Browser.msie){
    Browser.ie
    = Browser.msie;
    var v = parseInt(Browser.msie);
    Browser.ie6
    = v==6;
    Browser.ie7
    = v==7;
    Browser.ie8
    = v==8;
    Browser.ie9
    = v==9;
    }
    return Browser;
    }();
    if(QW.Browser.ie){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}}

    测试代码:

    View Code
    <html>
    <body>
    <script>
    var QW={};
    /**
    * @class Browser js的运行环境,浏览器以及版本信息。(Browser仅基于userAgent进行嗅探,存在不严谨的缺陷。)
    * @singleton
    * @namespace QW
    */
    QW.Browser
    =function(){
    var na = window.navigator,
    ua
    = na.userAgent.toLowerCase(),
    browserTester
    = /(msie|webkit|gecko|presto|opera|safari|firefox|chrome|maxthon)[ \/]([\d.]+)/ig,
    Browser
    = {platform: na.platform};
    ua.replace(browserTester,
    function(a,b,c){
    var bLower=b.toLowerCase();
    Browser[bLower]
    =c;
    });
    if(Browser.opera) {//Opera9.8后版本号位置变化
    ua.replace(/opera.*version\/([\d.]+)/, function(a,b){Browser.opera=b;});
    }
    if(Browser.msie){
    Browser.ie
    = Browser.msie;
    var v = parseInt(Browser.msie);
    Browser.ie6
    = v==6;
    Browser.ie7
    = v==7;
    Browser.ie8
    = v==8;
    Browser.ie9
    = v==9;
    }
    return Browser;
    }();
    if(QW.Browser.ie){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}}
    </script>

    <script>
    function print(o) {
    var html=[];
    for(var i in o) html.push('('+(typeof o[i])+') '+i+' : '+o[i]);
    document.write(html.join(
    '<br/>'));
    }
    print(QW.Browser);
    </script>
    </body>
    </html>

    检测结果如下:

  • 相关阅读:
    Mysql int类型你了解多少
    java 小程序开发PKCS7Padding 解密相关问题
    Shiro+JWT 实现权限管理(二)--JWT
    Shiro+JWT 实现权限管理(一)--Shiro
    HTTP常见状态码
    Java开发之Redis
    微信公众号开发总结(一) --程序入口
    成熟男人需要懂得的100件事
    Java8 Time API与老Date之间的转换
    极光推送工具类
  • 原文地址:https://www.cnblogs.com/jkisjk/p/QWrap_Browser.html
Copyright © 2011-2022 走看看