web-dev-qa-db-fra.com

Détection de navigateur Joomla

Pouvons-nous créer une publication/question approfondie avec les méthodes principales permettant la détection du navigateur dans Joomla 2.5 et 3? Après une brève recherche sur le Web, j’ai le sentiment qu’il n’ya pas suffisamment d’informations sur une seule page pour répondre à la demande.

10
FFrewin

Une visite plus approfondie devrait vraiment être ajoutée au docs wiki IMO, mais en partageant ce que je peux via mobile maintenant.

Pour la compatibilité 2.5 et 3.x, vous pouvez utiliser JBrowser pour détecter un navigateur. Cependant, cette classe peut ne pas fonctionner correctement avec les navigateurs ou les versions les plus récents. Pour l'utiliser pour obtenir le navigateur:

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

Pour les versions 3.2 et plus récentes, vous pouvez utiliser JApplicationWebClient, une classe plus récente conçue pour être plus flexible avec les options de navigateur actuelles. Pour l'utiliser pour obtenir le navigateur:

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

Les deux classes sont documentées sur le site de l'API, http://api.joomla.org/cms-3/index.html vous mènera à la page de base pour les documents 3.3.

14
Michael

En plus de la réponse de Michael, la classe JApplicationWebClient possède quelques autres propriétés utiles:

$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)

Documentation de l'API de classe JApplicationWebClient

9
FFrewin