zoukankan      html  css  js  c++  java
  • 【原创+亲测可用】JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器

    1、原理:

    通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型

    Android上
    QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个【空白符+QQ】字符;QQ浏览器仅有【MQQBrowser
    因此在Android上区分,需要用正则判断ua中包含MQQBrowser,并且剔除【MQQBrowser】之后包含【空白符+QQ】,则是QQ内置浏览器,
    QQ浏览器:ua中包含MQQBrowser但是不包含QQ

    ios
    QQ内置浏览器: ua包含一个空格加QQ,但是不包含MQQBrowser
    QQ浏览器: ua包含MQQBrowser但是不包含单独的QQ

    2、直接上js正则判断代码:(s 代表空白符)

    <script type="text/javascript">
    //判断是否QQ内置浏览器(含IOS和Andriod)
    function isQQAPP(){
        var isIosQQ = ( /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) && /sQQ/i.test(navigator.userAgent));
        var isAndroidQQ = ( /(Android)/i.test(navigator.userAgent) && /MQQBrowser/i.test(navigator.userAgent) && /sQQ/i.test((navigator.userAgent).split('MQQBrowser')));
        alert(isIosQQ+"--"+isAndroidQQ);
        if(isIosQQ || isAndroidQQ){
            $(".down-share").empty();
            var html = "<a class='glyphicon glyphicon-download share' href='/index.php/Mobile/Product/detail/id/{$_list.id}/method/download'>下载行程</a><a class='glyphicon glyphicon-share share share2' href='javascript:void(0);'>分享行程</a>";
            $(".down-share").append(html);
        }
    }
    </script>

    3、参考文章:

    https://blog.csdn.net/zxjiayou1314/article/details/52814716

    https://segmentfault.com/q/1010000006179538/a-1020000006230274

    https://www.cnblogs.com/zhangxiaoshu/p/8489665.html

  • 相关阅读:
    CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
    CodeForces 710A King Moves(水题-越界问题)
    CodeForces 701C They Are Everywhere (滑动窗口)
    CodeForces 701B Cells Not Under Attack
    [补档]happiness
    [补档]王者之剑
    [补档]士兵占领
    [补档]搭配飞行员
    [补档]暑假集训D6总结
    [补档][Lydsy2017年4月月赛]抵制克苏恩
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/9243127.html
Copyright © 2011-2022 走看看