检测微信浏览器并提示用户使用外部浏览器打开

微信浏览器是一个黑箱,很难说它是否会对浏览的页面进行一些多此一举的监测和分析。我们经常在微信中发布一些链接,同时不希望用户使用微信浏览器来打开它。

绝大多数用户默认是用微信浏览器来打开一切链接。那么可以在网页中增加一个判断,如果发现是微信浏览器,则显示一个提示;如果不是微信浏览器,则将页面跳转到真正要访问的页面。

代码如下。

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <title>页面跳转检测</title>
</head>
<body>
    <div id="weixin-tip" style="display:none">
        <p style="font-size:4em">
            请点击右上角“...”,<br>并选择“在浏览器打开”。
        </p>
    </div>
    <script type="text/javascript">
            var ua = navigator.userAgent.toLowerCase();
            var isWeixin = ua.indexOf('micromessenger') != -1;
            if(isWeixin) {
                document.getElementById('weixin-tip').style.display = 'block';
            } else {
                window.location.href = "TARGET_URL";
            }
    </script>
</body>
</html>

亲测有效。