zoukankan      html  css  js  c++  java
  • 浏览器检测(包括国内)原理

    浏览器检测通常都是通过分析用户代理字符串(navigator.userAgent)来进行检测。

    由于国内浏览器用的内核多是国外的,所以很多特性无法与国外浏览器区分,所以要先检测国外浏览器,再检测国内浏览器。这样当国内浏览器没有找到匹配项时就是内核默认的国外浏览器。

    function checkChineseBrowser(){
            var userAgent = navigator.userAgent;
            
            var browserKeyArr = [{
                name:'搜狗',
                domKey:'sougou',
                agentKey:'MetaSr'
            },{
                name:'QQ',
                domKey:'qq',
                agentKey:'QQBrowser'
            },
            {
                name:'猎豹',
                domKey:'liebao',
                agentKey:'LBBROWSER'
            },{
                name:'淘宝',
                domKey:'taobao',
                agentKey:'TaoBrowser'
            },{
                name:'遨游',
                domKey:'aoyou',
                agentKey:'Maxthon'
            }];
            
            
            for(var i = 0,length = browserKeyArr.length; i < length ; i++){
                var pattern = new RegExp(browserKeyArr[i].agentKey);
                
                if(pattern.test(userAgent)){
                    return browserKeyArr[i].domKey;
                }
            }
    
            return userAgent;
    
        }
    

    上面这个用于检测国内浏览器,当然,必须自定义。并且修改过后才能用于生产环境。另外,360系列的浏览器UA貌似有点儿丧心病狂,不对,简直就是耍流氓!

    然后强烈推荐一篇讲解分析userAgent的文章

    用户代理检测与浏览器Ua详细分析:http://www.cnblogs.com/hykun/p/Ua.html

  • 相关阅读:
    php环境下所有的配置文件以及作用
    获取登陆用户的ip
    curl模拟post和get请求
    linux 下安装php curl扩展
    php常用面试知识点
    git使用步骤
    laravel框架基础知识点
    ci框架基础知识点
    ajax
    Mysql 中需不需要commit
  • 原文地址:https://www.cnblogs.com/myqianlan/p/4208725.html
Copyright © 2011-2022 走看看