winney

It is never too old to learn.

0%
winney

JS判断当前设备

判断当前设备是否为移动端

1
2
3
function isMobile() {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}

判断当前设备是否为Android设备

1
2
3
function isAndroid() {
return /Android/i.test(navigator.userAgent);
}

判断当前设备是否为iOS设备

1
2
3
function isIOS() {
return /iPhone|iPad|iPod/i.test(navigator.userAgent);
}

判断当前设备是否为PC端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function isDesktop() {
const userAgent = navigator.userAgent;
// 移动设备关键词
const mobileKeywords = ['Mobile', 'Android', 'iPhone', 'iPad', 'Windows Phone', 'BlackBerry', 'Nokia', 'SymbianOS'];

// 判断是否包含移动设备关键词
for (let keyword of mobileKeywords) {
if (userAgent.includes(keyword)) {
return false;
}
}

return true;
}

JavaScript中的navigator.userAgent属性来获取用户代理字符串

如果将iPod也视为移动设备,可以将iPod添加到mobileKeywords中。

判断当前环境(当前所在客户端)

判断是否为微信

1
2
3
4
function isWeChat() {
var ua = navigator.userAgent.toLowerCase();
return ua.indexOf('micromessenger') > -1;
}

判断是否为QQ

1
2
3
4
function isQQ() {
var ua = navigator.userAgent.toLowerCase();
return ua.indexOf("qq") !== -1;
}

判断是否为支付宝

1
2
3
4
function isAlipay() {
var ua = navigator.userAgent.toLowerCase();
return ua.indexOf('alipayclient') > -1;
}

判断是否为微博

1
2
3
4
function isWeibo() {
var ua = navigator.userAgent.toLowerCase();
return ua.indexOf('weibo') > -1;
}