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>

    检测结果如下:

  • 相关阅读:
    eclipse+maven springMVC搭建
    mac下搭建eclipse+git环境并导入项目
    mvn deploy返回400错误的几种可能
    vector的坑——C++primer练习6.33总结
    2015/4/8腾讯笔试
    ColKang v1.0
    C++学习——C++复合类型
    朴素贝叶斯文本分类-在《红楼梦》作者鉴别的应用上(python实现)
    python:BeautifulSoup学习
    python:网络爬虫的学习笔记
  • 原文地址:https://www.cnblogs.com/jkisjk/p/QWrap_Browser.html
Copyright © 2011-2022 走看看