私は(少なくともあまり目立たないものを)持つための信頼できる方法を探していました:
- ブラウザの名前
- バージョン
- そしてそれが置かれているプラットフォーム(OS)
- おそらくもっと多くの情報がありますが、上記の3つの情報で十分です。
これらの情報に従ってカスタムコンテンツを表示したいのですが、例:
ユーザーが自分のブラウザでCookieをクリアする方法を知りたい場合。多くのブラウザですでに多くのコンテンツを利用できるとしましょう。バージョンそして私は適切なコンテンツを自動的にロードしたい
これらの値を取得するためにJavascriptを使用しない方法はありますか?
ブラウザが見つからない、または不正確なユースケースがあります。だから私は最も信頼できる解決策が欲しいです。
これが私が必要としていることを正確に行う2つのウェブサイトです:
- www.whatismybrowser.com(PHPでそれを行う方法を知るために所有者に連絡しました)
- HawkBrowser本当に徹底的なテスト、無料ではありません
部分的な解決策とのその他のリンク:
- 2012年8月の古いbrowsercapを使用したupgrademybrowser.org (ソース)
- Googleのwww.whatbrowser.org
何日もかけて試してみましたが、成功しませんでした。Stackoverflowコミュニティから多くのヒントを見つけました:
- get_browser ()を使用したbrowsercap。プロジェクトは中止され(現在は2012年8月8日)、最新の人気のあるハンドヘルドデバイスは検出されません。
- Javascript検出機能アプローチ:Modernirz。私がやりたいことには良くないアプローチであり、長く、頻繁に更新する必要があります。
- jQuery.browser十分ではない可能性が十分ではありません。
- quirksmode.org javascriptであり、現時点ではモバイルでは正確ではなく、PHPバージョンを好むでしょう。
その他の便利なリンク:
編集1 これまでのところ私は答えとコメントをテストしました。これらのソリューションは非常に満足のいくものです。
- PHPモバイルは、最後のバージョンが本当に良いことを検出します。これを使用している場合は、クライアントがプロジェクトに貢献できるように、例のフォームをクライアントに提供するとよいでしょう。(@Pekkaに感謝します)
WURFLは最近ではありませんが、非常に優れています。(@Ian Robertsに感謝します)
編集 2PHPモバイル検出はWURFLを使用します
アップデート
受け取ったヘッダーが他のライブラリによって変更されていないことを確認してください。
たとえば、OWASP PhpSec [ABANDONED]などの一部のセキュリティライブラリはヘッダー構造をカスタムオブジェクトに変更し、 PHPモバイル検出は必要なすべての情報にアクセスできなくなります
OWASP PhpSec [ABANDONED]を使用している方のために、httpライブラリはグローバルヘッダーオブジェクト構造を変更しています。(2013年12月)したがって、問題が発生した場合は、 httpライブラリを使用してOWASP PhpSecクラスを含める前に、PHPモバイル検出を使用してください。