我一直在寻找一种可靠的方式来拥有(至少是不那么晦涩的方式):
- 浏览器的名称
- 版本
- 以及它所在的平台(OS)
- 也许更多信息,但上面的 3 个信息就足够了。
我想根据这些信息显示自定义内容,例如:
如果用户想知道如何清除浏览器上的 cookie。假设我已经为许多浏览器提供了许多内容。版本我想自动加载适当的内容
有没有办法不涉及 Javascript 来获取这些值?
我有没有找到浏览器或不准确的用例。所以我想有最可靠的解决方案。
这里有 2 个网站可以满足我的需要:
- www.whatismybrowser.com(联系所有者了解如何在 PHP 中进行操作)
- HawkBrowser真的是详尽的测试,不是免费的
与部分解决方案的其他链接:
- upgrademybrowser.org使用 2012 年 8 月的旧 browsercap(来源)
- 谷歌的www.whatbrowser.org
花了很多天尝试,寻找,但没有成功。我从 Stackoverflow 社区发现了很多提示:
- browsercap带有get_browser ()。该项目已停止(目前为 2012 年 8 月 8 日)并且没有检测到一些现代流行的手持设备。
- Javascript 检测特征方法:Modernirz。对于我想做的事情来说,这不是一个好方法,时间太长了,而且必须经常更新。
- jQuery.browser不够好没有足够的可能性。
- quirksmode.org javascript,目前在移动设备上不准确,更喜欢 PHP 版本。
其他有用的链接:
编辑 1 到目前为止,我已经测试了答案和评论。这些解决方案非常令人满意:
- PHP mobile 检测最后一个版本非常好,如果您正在使用它,最好将示例中的表单提供给客户端,以便他们可以为项目做出贡献。(感谢@Pekka)
WURFL不太新,但也很好。(感谢@Ian Roberts)
编辑 2 PHP 移动检测使用 WURFL
更新
确保您收到的标头未被任何其他库修改。
例如,像OWASP PhpSec [ABANDONED]之类的一些安全库将标头结构更改为自定义对象,并且 PHP 移动检测不再能够访问它需要的所有信息
对于那些使用OWASP PhpSec [ABANDONED]的人, http 库正在修改全局标头对象结构。(2013 年 12 月)因此,如果您有问题,只需在使用http 库包含任何OWASP PhpSec类之前使用PHP 移动检测