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

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

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

【问题讨论】:

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

标签: javascript ios iphone user-agent


【解决方案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 中添加了这一点。如果他们把它放在问题中会更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多