zoukankan      html  css  js  c++  java
  • 【用jQuery来判断浏览器的类型】及【javascript获取用户ip地址】

     

    用jQuery来判断浏览器的类型,主要是使用$.browser这个工具类,使用方法: 

    $.browser.['浏览器关键字']

    复制代码
    //谷歌浏览器、360浏览器等其他一些浏览器,没有专门的判断   
     function appInfo() {
            var bro = $.browser;
            var binfo = "";
            if (bro.msie) {
                binfo = "Microsoft Internet Explorer " + bro.version;  // bro.version  获得的是浏览器版本
            }
            else if (bro.mozilla) {
                binfo = "Mozilla Firefox " + bro.version;
            }
            else if (bro.safari) {
                binfo = "Apple Safari " + bro.version;
            }
            else if (bro.opera) {
                binfo = "Opera " + bro.version;
            }
            else if (bro.webkit) {
                binfo = "Webkit " + bro.version;
            }
            
            return binfo;
        }
    复制代码

    我们看下jQuery的源码:

    复制代码
    var userAgent = navigator.userAgent.toLowerCase();
    // Figure out what browser is being used
    jQuery.browser = {
    version: (userAgent.match( /.+(?:rv|it|ra|ie)[/: ]([d.]+)/ ) || [])[1],
    safari: /webkit/.test( userAgent ),
    opera: /opera/.test( userAgent ),
    msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
    mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
    };
    复制代码
    复制代码
    jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本.
    
     
    
    如果我们要来判断当前浏览器是否是IE6应该如何来判断?
    
    $.browser.msie&&($.browser.version == "6.0")&&!$.support.style同样jQuery判断浏览器是否为IE7
    
    $.browser.msie&&($.browser.version == "7.0") 
    
    如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jQuery
    
    判断IE最简单的方法是
    
    if(document.all){
    alert("IE6")
    } 
    
    $.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替
    
    但是目前的情况来看,jquery.support并不好用,而且是非常的难用,我们还是老老实实的用$.browser来判断浏览器类型吧
    
    如果是为了判断IE的版本我还是推荐用IE的条件表达式来书写JS
    
    <!--[if IE]>
    <script type="text/javascript">
    alert("ie")
    </script>
    <![endif]-->
    <!--[if IE 6]>
    <script type="text/javascript">
    alert("ie6")
    </script>
    <![endif]-->
    <!--[if IE 7]>
    <script type="text/javascript">
    alert("ie7")
    </script>
    <![endif]--> 
    
    这个比我们手动通过$.browser来判断IE版本更精准,也不用去记jquery的browser的使用方法了
    
     
    
     
    复制代码

    js 获取用户ip

    var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();
                $.getJSON(url, function(data) {
                    alert(data.Ip);   //获取的用户ip
                 });
                 
  • 相关阅读:
    app接口测试
    鼠标右键添加"在此处打开命令窗口"
    解决Maven的Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
    Linux机器之间复制文件和目录方式&Linux的scp命令详解
    Java动态代理总结
    解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
    Elasticsearch使用filter进行匹配关系and,or,not,range查询
    阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
    Kafka连接SparkStreaming的两种方式
    IntelliJ IDEA导入多个eclipse项目到同一个workspace下
  • 原文地址:https://www.cnblogs.com/yuanyingke/p/6011186.html
Copyright © 2011-2022 走看看