Deteksi browser Joomla

10

Bisakah kita membuat posting pertanyaan / jawaban menyeluruh dengan metode inti yang memungkinkan deteksi browser di Joomla 2.5 dan 3? Setelah penelitian cepat di web, saya merasa bahwa tidak ada informasi yang cukup pada satu halaman yang memenuhi topik.

FFrewin
sumber

Jawaban:

14

Jalan yang lebih menyeluruh harus benar-benar ditambahkan ke dokumen wiki IMO, tetapi bagikan apa yang saya dapat melalui ponsel sekarang.

Untuk kompatibilitas 2,5 dan 3.x, Anda dapat menggunakan JBrowser untuk melakukan beberapa deteksi browser. Namun, kelas ini mungkin tidak berfungsi dengan baik dengan browser atau versi yang lebih baru. Untuk menggunakannya untuk mendapatkan browser:

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

Untuk 3.2 dan yang lebih baru, Anda dapat menggunakan JApplicationWebClient, yang merupakan kelas yang lebih baru yang dirancang untuk lebih fleksibel dengan opsi browser saat ini. Untuk menggunakannya untuk mendapatkan browser:

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

Kedua kelas didokumentasikan di situs API, http://api.joomla.org/cms-3/index.html akan menghubungkan Anda ke halaman dasar untuk 3,3 dokumen.

Michael
sumber
3
Saya tidak akan menggunakan JBrowser, terutama jika Anda ingin memeriksa apakah perangkatnya mobile atau tidak atau apa. Ini benar-benar buggy.
Valentin Despa
9

Selain jawaban Michael, Kelas JApplicationWebClient memiliki beberapa properti berguna lainnya:

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

Dokumentasi API Kelas JApplicationWebClient

FFrewin
sumber