我们能够使用这样的 javascript 检测 iPad 设备:
function isDeviceiPad(){
return navigator.platform.match(/iPad/i);
}
这在检测 iPad 设备时非常有效,但是当我们从
iPad Pro (10.5 inch)
进行检查时,它不会检测到它是 iPad。为了进一步调查,我们深入研究了
navigator
对象,同时检查 platform
和 userAgent
,并得到以下结果:navigator.platform = 'MacIntel';
navigator.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)
AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15)';
问题是
navigator.platform = 'MacIntel'
(与 MacBook Pro 相同)返回而不是 iPad
.我们需要一种方法来检测这是 iPad 而不是 MacBook Pro,但导航器似乎没有返回 iPad
就像旧 iPad 一样。知道我们如何解决这个问题吗?
最佳答案
iPadPro 将浏览器的 navigator.platform 报告为“MacIntel”,但这与其他平台相同。
目前(2019 年)iPadPro 与其他平台的区别在于 iPadPro 支持触控。
这里有几个有用的方法。
function isIOS() {
if (/iPad|iPhone|iPod/.test(navigator.platform)) {
return true;
} else {
return navigator.maxTouchPoints &&
navigator.maxTouchPoints > 2 &&
/MacIntel/.test(navigator.platform);
}
}
function isIpadOS() {
return navigator.maxTouchPoints &&
navigator.maxTouchPoints > 2 &&
/MacIntel/.test(navigator.platform);
}
关于javascript - 如何使用 javascript 将 iPad Pro 检测为 iPad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57776001/