0

誰かがJavascript(jQueryスクリプトなど)でモバイルブラウザーを使用しているかどうかを検出するコードを見てきました。また、PHP(または他のサーバー側言語)で動作するコードを見てきました。しかし、私は、すべての状況または任意の状況で、一方が他方よりも優れた選択であるかどうかについての良い説明を見たことがありません。1つがより良い選択である理由はありますか?

4

6 に答える 6

4

典型的な答え:それはあなたがチェックをしている理由に依存します...

私の観点から、これが私が通常考えるものです:

  • ブラウザに基づいてユーザーに異なるエクスペリエンス(モバイル、タブレット、ラップトップなど)を提示する場合は、サーバーで実行します。

  • 同じ一般的なエクスペリエンスを提示したいが、ブラウザーの互換性の問題を考慮する必要がある場合は、クライアントでそれを行います。

また、UXフィールドの一部では、ユーザーに空のページを表示して動的に入力することは「悪い形式」であると見なされています。代わりに、予備ページにデータを入力して、コンテンツを動的に追加または変更できます。これが懸念事項である場合は、サーバー側とクライアント側の組み合わせが必要になる場合があります。

于 2012-10-26T20:06:54.970 に答える
1

Javascriptの場合、ページがレンダリングされるまで待つ必要があるのに対し、サーバー側では前に行われるため、より良い方法はサーバー側であると思います。

于 2012-10-26T20:04:55.227 に答える
1

利用可能なjavascript機能を決定するためにこれを検出しようとしている場合、JavaScriptでこれを行うと、速度が大幅に低下することなく、精度が向上します。

フルWebサイトやモバイルWebサイトなど、レンダリングされるページの種類を完全に変更する場合は、このサーバー側を使用することをお勧めします。

于 2012-10-26T20:07:25.307 に答える
0

緑は赤よりも優れていますか?

すべてに長所と短所があります。たとえば、サーバー側で実行する方が信頼性が高く、クライアント側で実行するとサーバーの作業が少なくなります。

実際、クライアントでJavaScriptが無効になっている可能性があります(Firefoxの場合はNoScript拡張機能、Chromeの場合はScriptNoを参照してください。これにより、スマートユーザーは実際に必要なサイトでのみJSを有効にできます。優れた副作用として、ほとんどすべてが削除されます。最近の広告は、サードパーティドメインのJSに大きく依存しているようです)。したがって、User-Agent文字列を使用するだけの方が信頼性は高くなりますが、柔軟性は低くなります。

JSを多用する場合は、ダムサーバーを使用しない可能性があります。つまり、低速のPHPは必要ありませんが、さまざまなCDNなどを介してすべてのデータを高性能の静的サービスで提供できます。ただし、JSが必要なものはすべて検索スパイダーではうまく機能せず、一部のユーザーはそれをブロックする可能性があります。

于 2012-10-26T20:05:00.760 に答える
0

ライスボウルが述べたように、クライアントを決して信用しないでください。しかし、クライアントを信頼するのであれば、ほとんどの場合問題になると思います。アプリケーションを作成する価値がある場合は、適切に保護する価値があります。誰かが自分のクライアントを作成し、予期しないデータを渡すことでそれを破ることができるのであれば、それは悪いことです。そのため、サーバーで検証する必要があります。

于 2012-10-26T20:06:41.080 に答える
0

Web開発者、UXおよびUIプログラマーとして、誰かがUAを変更したいのであれば、それは問題ありません。彼らは非互換性に対処するようになります。モバイルとデスクトップについては、ismobiledeviceのデバイスチェックを検索するのではなく、ライトバージョンのbrowscap.iniをお勧めします。ifステートメントがtrueまたはfalseになる場合は、タブレットも確認​​できます。if mobile句で、連想配列のistabletキーを確認します。携帯電話やタブレットのCSSに使用できます。

于 2015-04-13T06:32:28.160 に答える