Wykrywanie przeglądarki Joomla

10

Czy możemy stworzyć dokładny post z pytaniami / odpowiedziami przy użyciu podstawowych metod, które umożliwiają wykrywanie przeglądarki w Joomla 2.5 i 3? Po szybkich badaniach w sieci czuję, że na jednej stronie nie ma wystarczających informacji, które spełniają ten temat.

FFrewin
źródło

Odpowiedzi:

14

Bardziej dokładny spacer powinien naprawdę zostać dodany do IMO wiki docs, ale dzielę się teraz tym, co mogę za pośrednictwem telefonu komórkowego.

W celu zapewnienia zgodności z wersjami 2.5 i 3.x można użyć JBrowser do wykrycia niektórych przeglądarek. Jednak ta klasa może nie działać dobrze z nowszymi przeglądarkami lub wersjami. Aby użyć go do uzyskania przeglądarki:

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

W wersji 3.2 i nowszej możesz użyć JApplicationWebClient, która jest nowszą klasą zaprojektowaną tak, aby była bardziej elastyczna dzięki dzisiejszym opcjom przeglądarki. Aby użyć go do uzyskania przeglądarki:

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

Obie klasy są udokumentowane na stronie API, http://api.joomla.org/cms-3/index.html przekieruje cię na stronę podstawową dla dokumentów 3.3.

Michał
źródło
3
Nie korzystałbym JBrowser, szczególnie jeśli chcesz sprawdzić, czy urządzenie jest mobilne, czy nie, i jakiego rodzaju. To naprawdę buggy.
Valentin Despa
9

Oprócz odpowiedzi Michaela klasa JApplicationWebClient ma kilka innych przydatnych właściwości:

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

Dokumentacja interfejsu API klasy JApplicationWebClient

FFrewin
źródło