如何在 Firefox for Android 中检测 Android 的版本号?

Posted

技术标签:

【中文标题】如何在 Firefox for Android 中检测 Android 的版本号?【英文标题】:How to detect Android's version number in Firefox for Android? 【发布时间】:2013-02-26 12:54:00 【问题描述】:

对于一个网站,如果用户使用的是 android 4+ 设备,我们希望在 Play 商店中显示一个链接。我们测试的所有浏览器都在其用户代理字符串中发送了 Android 的版本号,除了一个:Firefox for Android。 Firefox 只是发送这个:

Mozilla/5.0 (Android; Mobile; rv:19.0) Gecko/19.0 Firefox/19.0

即使使用一些 javascript,我也找不到任何版本号的证据:

<script language="JavaScript">
  document.write(navigator.appVersion + "\n<br/>OS CPU: " + navigator.oscpu);
</script>

返回:

5.0 (Android)
OS CPU: Linux arm7l

我错过了一些其他方法吗?

【问题讨论】:

:***.com/questions/7184573/… navigator.userAgent.indexOf('Android') 应该返回版本 我没有测试过,但如果这是真的,你可以向 mozilla 报告。但是,我认为向不同版本的 Android 平台显示不同的页面不是很明智。 前两张海报:重点是,firefox 不会在用户代理中报告版本。所以你的解决方案不起作用。 @JermaineXu 在这种情况下这是有道理的,因为 Play 商店中的应用程序要求 Android 4。 我明白这一点,但我认为警告就足够了。您可以向所有用户显示链接并告诉他们需要 Android 4。 【参考方案1】:

很遗憾,你不能。请参阅Bug 625238 - Add device info to User-Agent 和相关的Bug 807495 - User Agent does not include handset Device Model。

总的来说,Mozilla 有不添加 User Agent(或 HTTP 标头)信息的政策,他们目前认为开发人员不需要知道运行的 Android 版本。

【讨论】:

以上是关于如何在 Firefox for Android 中检测 Android 的版本号?的主要内容,如果未能解决你的问题,请参考以下文章

WebRTC onicecandidate 不会在 chrome for android 上触发,但适用于所有其他浏览器,包括适用于 android 的 firefox

如何在 Firefox 58++ 上使用 PHP Webdriver for Selenium 下载文件

如何使用 Selenium for Firefox 和 Chrome 禁用推送通知?

如何从android studio启动firefox焦点

firefox 怎样调试android页面

WebSockets 在桌面浏览器中工作,但在 Chrome for Android 中失败