[ 生活需要仪式感 ]

0%

检测网页是否在微信中打开

在微信中打开的浏览器,是不能够下载文件和使用Apple描述文件的,就需要通过js检测是否需要提醒用户在Safari中打开页面。

AppSolution跳转页面

原理:

微信里打开的浏览器的UserAgent是类似于Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3

通过关键字MicroMessenger可以检查出浏览器是否来自微信。

核心js检验代码:

1
2
3
4
5
6
7
8
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}

Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>判断是否是微信内置浏览器</title>
</head>
<body>
<h1>如果用微信浏览器打开可以看到下面的文字</h1>
<p></p>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
if(isWeiXin()){
var p = document.getElementsByTagName('p');
p[0].innerHTML = window.navigator.userAgent;
}
}
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true;
}else{
return false;
}
}
</script>

Demo via [yjzhu]

Ps.

刚好因为我也在做一个v//p//n对于iOS的一键配置文件的跳转,你们可以买我的vpn然后测试一下哈~click->iOS