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>