Joomla浏览器检测


10

我们是否可以使用允许在Joomla 2.5和3中进行浏览器检测的核心方法来创建详尽的问题/答案帖子?经过对网络的快速研究,我觉得在满足该主题的单个页面上没有足够的信息。

Answers:


14

实际上,应该将更完整的演练添加到docs Wiki IMO中,但是现在可以通过移动设备共享我的知识。

为了实现2.5和3.x兼容性,可以使用JBrowser进行一些浏览器检测。但是,该类可能不适用于较新的浏览器或版本。要使用它来获取浏览器:

$browser = JBrowser::getInstance()->getBrowser();

对于3.2及更高版本,可以使用JApplicationWebClient,它是一个更新的类,旨在通过当今的浏览器选项更加灵活。要使用它来获取浏览器:

$client = JFactory::getApplication()->client->browser;

这两个类都记录在API网站上,http://api.joomla.org/cms-3/index.html会将您链接到3.3文档的基础页面。


3
我不会使用JBrowser,尤其是如果您想检查设备是否可移动或哪种类型。这确实是越野车。
Valentin Despa

9

除了Michael的答案,JApplicationWebClient类还具有其他一些有用的属性:

$client = JFactory::getApplication()->client;

$client->browser;
// The detected browser used by the web client (returns an integer)

$client->browserVersion;
// The detected browser version used by the web client. (string)

$client->mobile;
// True if the web client is a mobile device (Boolean)

$client->platform;
// The detected platform on which the web client runs (integer)

$client->userAgent;
//The web client's user agent string. (string)

$client->robot;
// True if the web client is a robot (Boolean)

JApplicationWebClient类API文档

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.