客户端和服务器端判断请求来至微信客户端
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有两种情况:
client端区分
添加js代码
1.var browser={
2.
3.versions:function(){
4.
5.var u = erAgent, app = navigator.appVersion;
6.
7.return {//移动终端浏览器版本信息
8.
9.trident: u.indexOf('Trident') > -1, //IE内核
10.
11.presto: u.indexOf('Presto') > -1, //opera内核
12.
13.webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
14.
15.gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
16.
17.mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否
为移动终端
18.
19.ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
20.
21.android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端
或者uc浏览器
22.
23.iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者
QQHD浏览器
24.
25.iPad: u.indexOf('iPad') > -1, //是否iPad
26.
27.webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
28.
29.};
30.
31.}(),
32.
nguage:(navigator.browserLanguage || nguage).toLowerCase()
34.
35.}
36.
37.document.writeln("语言版本: "+nguage);
38.
39.document.writeln(" 是否为移动终端: "+browser.versions.mobile);
40.
41.document.writeln(" ios终端: "+browser.versions.ios);
42.
43.document.writeln(" android终端: "+browser.versions.android);
44.
45.document.writeln(" 是否为iPhone: "+browser.versions.iPhone);
46.
47.document.writeln(" 是否iPad: "+browser.versions.iPad);
48.
49.document.writeln(erAgent);
50.
51.
server端区分
需要实现的逻辑示例:
If ( QQ浏览器) {
//处理方案A
} else {
//处理方案B
}
key is Host, value is 10.10.42.132:9002
key is Connection, value is keep-alive
key is Upgrade-Insecure-Requests, value is 1
key is User-Agent, value is Mozilla/5.0 (Linux; Android
6.0.1; vivo X9 Build/MMB29M; wv) AppleWebKit/53
7.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043220 Safari/537.36 MicroMessenger/6.5.7.1041 NetType/WIFI Language/zh_CN
key is Accept, value is text/html,application/xhtml+xml,application/xml;q=0.9 ,image/webp,image/wxpic,image/sharpp,*/*;q=0.8
key is Accept-Encoding, value is gzip, deflate
key is Accept-Language, value is zh-CN,en-US;q=0.8 key is Cookie, value is JSESSIONID=1ci2brinz9khl1w2efvdqgvoft
总结:
1. 在Android下,返回
Mozilla/5.0 (Linux; Android 6.0.1; vivo X9 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043220 Safari/537.36 MicroMessenger/6.5.7.1041 NetType/WIFI Language/zh_CN
可以看到,微信浏览器为MicroMessenger ,后面还有其版本号
2. 在iphone下,返回