如何通过 JS 区分 iPhone 5 和 iPhone SE?

Posted

技术标签:

【中文标题】如何通过 JS 区分 iPhone 5 和 iPhone SE?【英文标题】:How to distinguish IPhone 5 and IPhone SE via JS? 【发布时间】:2018-09-26 09:40:28 【问题描述】:

有什么好方法可以 100% 检测用户设备是否是 iPhone 5(而不是 SE)。正确地说,我需要知道 ios 设备型号是否

我认为检查 CPU 速度不是设备检测的正确方法。

【问题讨论】:

“我需要知道……”,为什么? iPhone 4、3 和许多类似的设备都可以吗? How to determine which iPhone version the javascript code runs on?的可能重复 @RobG Apple pay 适用于所有 iphone > 5 和 SE。还有一些问题迫使我检测 iPhone 型号,而不仅仅是 Apple Pay 支持。 您只需要测试window.ApplePaySession 是否存在即可。请参阅Checking for Apple Pay Availability 即使检测到设备是可靠的,您仍然无法确定是否支持 Apple Pay。 【参考方案1】:

如果您尝试检测对 Apple Pay 的支持,那么根据Apple developer support web site:

在显示 Apple Pay 按钮或创建 Apple Pay 之前 会话,您必须确保 Apple Pay JS API 可用并且 在当前设备上启用。检查Apple Pay JS API是否 在浏览器中可用,验证 window.ApplePaySession 类存在:

if (window.ApplePaySession) 
   // The Apple Pay JS API is available.

【讨论】:

我知道如何检测 ApplePaySupport,我也知道 ApplePaySession、iPhone 5 的一些问题并标记为“ApplePay 已启用”。主要问题是关于检测手机型号,ApplePay 不需要你的帮助,谢谢。 @onemantoo — 你的策略是检查 iPhone、iPad、Apple Watch、MacBook 等的兼容型号吗?在日本,您需要 iPhone 8,而中国则存在其他问题。【参考方案2】:

您可以询问型号名称,iPhone SEiPhone8,4iPhone 5SiPhone6,1 & iPhone6,2

【讨论】:

那么如何我能做到这一点? 我不是 js 专家。 即使设备如实报告其型号,OP 仍然不知道 Apple Pay 是否可用或启用。 Apple pay 不是原始问题的一部分。 @HarvantS.Choudhary — 是的,OP 已在 cmets 中添加了这一点。如果他们把它放在问题中会更好。

以上是关于如何通过 JS 区分 iPhone 5 和 iPhone SE?的主要内容,如果未能解决你的问题,请参考以下文章

JS区分iPhone上的点击和滚动

js判断iphone14

通过USB镜像iPhone/iPad屏幕到电脑

iPhone能运行Android系统,信吗?

如何在 iPhone 地图应用程序中打开 KML 文件?

针对 iPhone 4s 和 5 上 xcode 5 中的背景图像问题的自定义 UIButton 对齐 - 添加约束不能解决问题