Detección de navegador Joomla

10

¿Podemos crear una publicación exhaustiva de preguntas / respuestas con los métodos principales que permiten la detección del navegador en Joomla 2.5 y 3? Después de una rápida investigación en la web, siento que no hay suficiente información en una sola página que cumpla con el tema.

FFrewin
fuente

Respuestas:

14

Realmente debería agregarse un recorrido más exhaustivo a la IMO de wiki de documentos, pero ahora comparto lo que puedo a través del móvil.

Para compatibilidad con 2.5 y 3.x, puede usar JBrowser para hacer alguna detección del navegador. Sin embargo, esta clase puede no funcionar bien con navegadores o versiones más recientes. Para usarlo para obtener el navegador:

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

Para las versiones 3.2 y posteriores, puede usar JApplicationWebClient, que es una clase más nueva diseñada para ser más flexible con las opciones actuales del navegador. Para usarlo para obtener el navegador:

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

Ambas clases están documentadas en el sitio API, http://api.joomla.org/cms-3/index.html lo vinculará a la página base para 3.3 documentos.

Miguel
fuente
3
No lo usaría JBrowser, especialmente si desea verificar si el dispositivo es móvil o no o de qué tipo. Es realmente con errores.
Valentin Despa
9

Además de la respuesta de Michael, la clase JApplicationWebClient tiene algunas otras propiedades útiles:

$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 Class API Documentation

FFrewin
fuente