赞
踩
最简单的方法就是分析浏览器的 user agent 字符串,它包含了设备信息。
JS 通过navigator.userAgent
属性拿到这个字符串,只要里面包含mobi
、android
、iphone
等关键字,就可以认定是移动设备。
-
- 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
属性,返回一个布尔值,表示用户是否使用移动设备。
-
- const isMobile = navigator.userAgentData.mobile;
注意,苹果的 Safari 浏览器和 Firefox 浏览器都不支持这个属性,具体情况可以查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。