Détection du navigateur Joomla


10

Pouvons-nous créer un poste complet de questions / réponses avec les méthodes de base qui permettent la détection du navigateur dans Joomla 2.5 et 3? Après une recherche rapide sur le Web, j'estime qu'il n'y a pas suffisamment d'informations sur une seule page pour répondre au sujet.

Réponses:


14

Une marche à pied plus approfondie devrait vraiment être ajoutée au wiki IMO des documents, mais partager ce que je peux via mobile maintenant.

Pour la compatibilité 2.5 et 3.x, vous pouvez utiliser JBrowser pour effectuer une détection de navigateur. Cependant, cette classe peut ne pas fonctionner correctement avec les nouveaux navigateurs ou versions. Pour l'utiliser pour obtenir le navigateur:

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

Pour 3.2 et plus récent, vous pouvez utiliser JApplicationWebClient, qui est une classe plus récente conçue pour être plus flexible avec les options du navigateur d'aujourd'hui. 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 reliera à la page de base de la documentation 3.3.


3
Je n'utiliserais pas JBrowser, surtout si vous voulez vérifier si l'appareil est mobile ou non ou de quel type. C'est vraiment buggé.
Valentin Despa

9

En plus de la réponse de Michael, la classe JApplicationWebClient a 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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.