项目之前使用了
navigator.userAgent
判断当前是否是真机,给与特有功能,后发现PC浏览器移动端调试工具中取到的数据和手机是一样的,也会被当成真机处理,后面使用替代方案navigator.platform
(当前设备的操作系统或硬件平台)
navigator.platform 枚举值如下
(区分大小写)
:
- HP-UX
- Linux i686
- Linux armv7l
- Linux armv8l
- Linux aarch64
- Linux x86_64
- Mac68K
- MacPPC
- MacIntel
- SunOS
- Win16
- Win32
- WinCE
- iPhone
- iPod
- iPad
- Android
- BlackBerry
- Opera
正则判断是否移动端
export const isMobile = () => {
return /(iPhone|iPad|iPod|iOS|Android|Linux armv8l|Linux armv7l|Linux aarch64)/i.test(navigator.platform);
};
——————————————
补充:后续发现部分 Androd 机型使用的 Linux 内核版本不一致,暂时先发现一个就更新一个属性值吧~