识别环境
原生navigator.userAgent
if (/Mobi|Android|iPhone/i.test(navigator.userAgent)) {
// 当前设备是移动设备
}
// 另一种写法
if (
navigator.userAgent.match(/Mobi/i) ||
navigator.userAgent.match(/Android/i) ||
navigator.userAgent.match(/iPhone/i)
) {
// 当前设备是移动设备
}
这种方法的优点是简单方便,缺点是不可靠,因为用户可以修改这个字符串,让手机浏览器伪装成桌面浏览器。
Chromium 系的浏览器,还有一个navigator.userAgentData
属性,也是类似的作用。不同之处是它将 user agent 字符串解析为一个对象,该对象的mobile
属性,返回一个布尔值,表示用户是否使用移动设备。
https://www.ruanyifeng.com/blog/2021/09/detecting-mobile-browser.html