【发布时间】:2012-12-05 05:52:02
【问题描述】:
有没有人想出一个好方法来检测客户端的浏览器是否是三星手机。我特别在寻找三星 S3 和 Note 2,但如果它能够捕获 S2 和 Note 1 或其他三星手机,我可以接受。未来可以证明的东西(即可能与 S4 / Note3 一起工作显然是理想的)。
似乎没有像 iPhone 那样直接的方式来做到这一点,但我们希望为这些设备定制庞大的 S3 和 Note2 用户群。
我知道并非所有 S3 都有相同的用户代理 (http://stackoverflow.com/questions/11282944/what-is-the-samsung-s3-user-agent)
如果有人将手机设置为 PC 版本,那么我不指望能抓住这些 (http://stackoverflow.com/questions/11597940/android-phone-browser-detection)
我意识到这可能是一个没有好的解决方案的问题。
【问题讨论】:
-
你为什么要这样做?用户代理在检测浏览器和设备方面充其量是不可靠的。
-
是的,在一个完美的世界里,我们永远不会关注用户代理,但是唉......为了改善用户体验,我们为 iPhone 和 Android 手机提供了略有不同的功能,并且测试设备表明三星是一个水平以上 HTC、LG 等。对于某些功能我可以使用特征检测...
-
你不需要一个完美的世界。为支持的功能设计,其他人都可以管理它,所以你也可以。 UA 嗅探是一种古老且有缺陷的策略,多年前就被抛弃了。每次出现有问题的新浏览器时,您都必须编写另一个嗅探器和另一个有问题的分支。使用带有合理回退(通常是基本 HTML)的特征检测,您的生活(以及您的客户的生活)将变得更加轻松。 :-)
-
Rob 听起来很棒,那么如何检测浏览器是否支持时间选择器?
-
什么类型的时间选择器?基于浏览器的?如果您指的是输入
type=time,我不会打扰。目前它们的支持很差,一个简单的输入和屏幕提示来指定你想要的格式将会更加健壮。如果您使用的是库和插件,请询问作者。
标签: javascript user-agent samsung-mobile