gpt4 book ai didi

javascript - 使用 JS 检测 iPhone SE 设备型号

转载 作者:行者123 更新时间:2023-11-30 00:00:52 25 4
gpt4 key购买 nike

我的 JS 网络应用程序中有一个错误,该错误似乎只发生在 iPhone SE 上,而不会发生在其他型号上。有没有办法检测具体的设备型号?我考虑过使用屏幕尺寸,但不幸的是 iPhone SE 和 iPhone 5 共享相同的屏幕(报告为 320 x 568)所以我无法区分两者。

JS 检测库,如 http://hgoebl.github.io/mobile-detect.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,如 Mac OS X)AppleWebKit/536.26(KHTML,如 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

最佳答案

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

Here is an example这样做,尽管他们做错了。而是使用最短执行时间的度量,因为平均数会被大延迟(后台任务、垃圾收集等)导致的长尾破坏。

但是,根据我的经验,如果试图避免 过时 设备(或版本)中的错误,您应该只嗅探模型等。如果您有一个在最近的设备/版本中表现出来的错误,它很可能会在未来的设备/版本中发生。当我在较新的设备上发现 iOS 中的显示错误时,我认为这是由于更快的 CPU(可能是由于多线程)导致的竞争条件。因为 future 的设备有更快的 CPU,所以在代码进入维护后,任何错误都会变得更糟,这不是您想要的。

相反,我尝试找到该错误的解决方法(适用于较新设备的解决方法)。

我确实建议您发送一份错误报告,如果它是可简化和可重复的。尽管根据我的经验,Apple 和 Microsoft 在修复其浏览器中报告的 bug 方面很糟糕,无论该 bug 有多重要、经过深入研究或编写得如何(Apple 只提供零反馈并且不修复该 bug。Microsoft 提供反馈然后关闭由于随机原因而没有修复的错误 - IE/Edge 团队可以避免修复错误)。我也很高兴地惊讶于 Chromium 团队在修复报告的错误(甚至是复杂和主观的错误)方面的表现如此出色;感谢 Google。

关于javascript - 使用 JS 检测 iPhone SE 设备型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40586416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com