JS 移动设备环境判断

预计阅读时间: 小于 1 分钟

检测 WeChat、Android、iOS 环境

代码示例
1// 检测微信状态下的手机设备环境
2function checkHJByWeChat() {
3	// 设备变量区分
4	let web = navigator.userAgent,
5		isiOS = !!web.match(/\i[^;]+;(U;)? CPU.+Mac OS X/),
6		isAndroid = web.indexOf("Android") > -1 || web.indexOf("Adr") > -1,
7		isWeChat = web.toLocaleLowerCase().match(/MicroMessenger/i) == "micromessenger";
8
9	let test = "";
10	// WeChat 环境下
11	if (isWeChat) {
12		console.log("当前环境为 WeChat");
13		if (isAndroid) {
14			// Android 环境下
15			test = "当前环境为 WeChat--> Android";
16		} else if (isiOS) {
17			// iOS 环境下
18			test = "当前环境为 WeChat--> iOS";
19		} else {
20			test = "当前环境为 WeChat-->";
21		}
22	} else {
23		// 非 WeChat 环境
24		console.log("当前环境为 非WeChat");
25		if (isAndroid) {
26			test = "当前环境为 非WeChat--> Android";
27		} else if (isiOS) {
28			test = "当前环境为 非WeChat--> iOS";
29		} else {
30			test = "当前环境为 非WeChat-->";
31		}
32	}
33	console.log(test);
34	document.querySelector("#test").innerHTML = test;
35}

浏览器手机环境检测

代码示例
1function checkHJ() {
2	let web = navigator.userAgent;
3
4	let isWeChat = web.toLocaleLowerCase().match(/MicroMessenger/i) == "micromessenger";
5	// WeChat
6	if (isWeChat) {
7		console.log("当前环境为 WeChat");
8	}
9
10	let isAndroid = web.indexOf("Android") > -1 || web.indexOf("Adr") > -1;
11	// Android
12	if (isAndroid) {
13		console.log("当前环境为 Android");
14	}
15
16	let isiOS = !!web.match(/\i[^;]+;(U;)? CPU.+Mac OS X/);
17	// iOS
18	if (isiOS) {
19		console.log("当前环境为 iOS");
20	}
21
22	// others 浏览器
23	console.log("当前环境为 浏览器");
24}