概述
在搭载A系芯片的ipad 上,使用navigator.userAgent获取当前浏览器的用户代理字符串是 iPad。
在搭载M系芯片的ipad 上,使用navigator.userAgent获取当前浏览器的用户代理字符串是 Macintosh。
在macOS操作系统的设备上,使用navigator.userAgent获取当前浏览器的用户代理字符串是 Macintosh。
在搭载M系芯片的ipad上,无法判断当前设备是ipad还是其他macOS操作系统的设备。
实现
因为ipad打开的safari网页是没有滚动条宽度的,所以可以利用这一点来做辅助判断。
var userAgent = navigator.userAgent// 获取当前浏览器的用户代理字符串
if (typeof window.innerWidth === 'number') {
widthBar = window.innerWidth - root.clientWidth// 获取现在的滚动条宽度
}
if (/Macintosh/i.test(userAgent)) {
if (Number(widthBar) === 0) { // ipad的场合
} else { // 其他macOS系统的场合
}
} else { // 其他设备的场合
}