web-dev-qa-db-ja.com

Joomlaブラウザーの検出

Joomla 2.5および3でブラウザー検出を可能にするコアメソッドを使用して、完全な質問/回答投稿を作成できますか? Webで簡単に調査したところ、1つのページにトピックを満たすのに十分な情報がないと感じました。

10
FFrewin

より完全なウォークスルーを本当にドキュメントウィキのIMOに追加する必要がありますが、現在モバイル経由でできることを共有しています。

2.5と3.xの互換性のために、JBrowserを使用してブラウザの検出を行うことができます。ただし、このクラスは新しいブラウザやバージョンではうまく機能しない場合があります。これを使用してブラウザを取得するには:

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

3.2以降では、JApplicationWebClientを使用できます。JApplicationWebClientは、今日のブラウザーオプションに柔軟に対応できるように設計された新しいクラスです。これを使用してブラウザを取得するには:

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

どちらのクラスもAPIサイトに記載されています http://api.joomla.org/cms-3/index.html は3.3ドキュメントのベースページにリンクします。

14
Michael

Michaelの回答に加えて、JApplicationWebClientクラスにはいくつかの便利なプロパティがあります。

$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クラスAPIドキュメント

9
FFrewin