0

ブラウザの HTML5 および CSS3 機能のサポートを検出するスクリプトを PHP で作成することは可能ですか? そうでない場合、どの言語でも可能ですか?

4

5 に答える 5

3

$_SERVERPHP は、HTTP 経由で提供され、スーパーグローバルに格納されているもの以外は、クライアントについてあまり知りません。PHPはクライアントではなくサーバーで実行されるため、これはほぼ設計によるものです。

機能検出は、JavaScript とも呼ばれるクライアント コードに適切に属します。 Modernizrは、機能を簡単に検出できる最高のライブラリの 1 つです。

これを使用して、クライアント上の機能を検出し、サーバー上の変数を更新する AJAX 要求を発行できます。最初のページの読み込みでは機能しませんが、その後のすべてのリクエストは、セッションに保存すると、サーバーでの問い合わせに使用できる設定に依存できます。

これを回避するための解決策は、最初に値がサーバーに保存されているかどうかを確認することです。そうでない場合は、単にこの機能検出/AJAX 呼び出しを実行し、JavaScript を介して最初に要求されたページにリダイレクトするページを出力しない場合です。この解決策にはいくつかの落とし穴があります (あなたのサイトへのすべての訪問者は最初、信頼を構築するための最良の方法ではないクイック リダイレクトを含む空白の画面が表示されます。サーバーコードがクライアントの実装に依存するようになったため、利用可能なすべてのクライアントでアプリケーションをテストすることはないと思います)。これは回避策としてのみ提供します。

于 2012-07-31T16:10:19.713 に答える
0

PHP でブラウザーを検出してから、ブラウザーごとに異なるコードを使用する必要があります。

PHP ブラウザー検出手法:

  1. モバイル検出用のGoogle プラグイン
  2. $_SERVER['HTTP_USER_AGENT'] の使用
  3. get_browser() の使用
  4. モビフォージ
于 2014-01-24T07:22:14.133 に答える
0

http://www.html5test.comを見て、これがどのように機能するかを見ましたか。

于 2012-07-31T18:48:13.147 に答える
0

PHP には、ブラウザー機能の連想配列を返す get_browser という関数があります。ただし、機能を正常に動作させるには、ブラウザに関する情報を含む browscap.ini というファイルをダウンロードする必要があります。このファイルを取得してインストールする方法については、関数のドキュメント ページを参照してください。

于 2013-08-15T05:56:19.070 に答える