it-swarm-vi.com

Phát hiện trình duyệt Joomla

Chúng ta có thể tạo một bài đăng câu hỏi/câu trả lời kỹ lưỡng với các phương thức cốt lõi cho phép phát hiện trình duyệt trong Joomla 2.5 và 3 không? Sau khi nghiên cứu nhanh trên web, tôi cảm thấy rằng không có đủ thông tin trên một trang duy nhất hoàn thành chủ đề.

10
FFrewin

Một hướng dẫn kỹ lưỡng hơn thực sự nên được thêm vào tài liệu wiki IMO, nhưng chia sẻ những gì tôi có thể thông qua điện thoại di động bây giờ.

Để tương thích 2.5 và 3.x, bạn có thể sử dụng JBrowser để thực hiện một số phát hiện trình duyệt. Tuy nhiên, lớp này có thể không hoạt động tốt với các trình duyệt hoặc phiên bản mới hơn. Để sử dụng nó để có được trình duyệt:

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

Đối với phiên bản 3.2 trở lên, bạn có thể sử dụng JApplicationWebClient, đây là lớp mới hơn được thiết kế để linh hoạt hơn với các tùy chọn trình duyệt ngày nay. Để sử dụng nó để có được trình duyệt:

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

Cả hai lớp đều được ghi lại trên trang API, http://api.j Joomla.org/cms-3/index.html sẽ liên kết bạn với trang cơ sở cho 3,3 tài liệu.

14
Michael

Ngoài câu trả lời của Michael, Lớp JApplicationWebClient còn có một vài thuộc tính hữu ích khác:

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

Tài liệu API lớp JApplicationWebClient

9
FFrewin