首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JS检测iPhone SE器件模型

用JS检测iPhone SE器件模型
EN

Stack Overflow用户
提问于 2016-11-14 10:21:37
回答 1查看 2.5K关注 0票数 2

我的JS and应用程序中有一个错误,似乎只发生在iPhone SE上,而不是在其他模型上。有办法检测特定的设备模型吗?我考虑过使用屏幕大小,但不幸的是,iPhone SE和iPhone 5共享相同的屏幕(据报道为320 x 568),因此我无法区分这两种屏幕。

http://hgoebl.github.io/mobile-detect.js/这样的JS检测库似乎做不到这一点。

如何使用JS?检测iPhone SE (无论iOS版本)

增编:

用户代理在这里似乎没有帮助,它只针对iOS版本,而不是设备。

iPhone SE,iOS 10:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A345 Safari/602.1

iPhone 5,iOS 6:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25

iPhone 5s,iOS 7:

Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53

EN

回答 1

Stack Overflow用户

发布于 2017-08-14 23:15:30

您可以通过使用JavaScript检查CPU速度来检测差异。

虽然他们做得不对,但下面是一个例子还是这么做了。相反,使用最小执行时间的度量,因为平均会被大延迟(后台任务、垃圾收集等)造成的长尾破坏。

然而,在我的经验中,如果您试图避免过时设备(或版本)中的错误,那么您只应该嗅探模型等。如果您有一个在最近的设备/版本中表示自己的错误,那么它很可能会发生在未来的设备/版本中。当我在较新的设备上发现iOS中的显示错误时,我认为这是由于由于较快的CPU (可能是由于多线程)而产生的争用条件造成的。因为将来的设备拥有更快的CPU,所以在代码进行维护之后,任何错误都会变得更糟,这不是您想要的。

相反,我试图为这个bug找到一个解决办法(在较新的设备上工作的解决方案)。

我确实建议你发送一个错误报告,如果它是简单的和可重复的。尽管在我的经验中,苹果和微软很难修复他们浏览器中报告的错误,不管这个错误有多重要,研究得很好,还是写得很好(苹果只是给出零反馈,而不修复这个错误。微软给出的反馈,然后只是关闭错误的随机原因,没有修复-任何IE/边缘团队可以避免修复错误)。我也很高兴看到Chromium在修复报告中的错误(甚至是复杂和主观的bug)方面做得有多好,这让我惊讶不已;谷歌( Google )对它赞不绝口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40586416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档