-1

私は特定のタスクで働いています。3 つの異なるスタイルシートを持つ 3 つのマスター ページがあり、

ウィンドウ、モバイル、iPadなど、ユーザーが使用しているものを検出できるjavascript関数があります...

たとえば、ページ サイズが 700 未満の場合はマスター ページ 1 を設定し、ページ サイズが 700 を超える場合はサーバー側の pre-init 関数でマスター ページ 2 として設定します。

誰かが私の問題を解決する手がかりを持っていますか?

4

1 に答える 1

0

画面サイズの検出に JavaScript を使用する代わりに、HttpHeader User-Agentを使用してクライアント デバイスを検出し、サーバー側でマスター ページを変更します。

ASP.NET パイプラインの Pre-Init 関数でクライアントから送信されたユーザー エージェント ヘッダーにアクセスできます。また、コントローラーまたはページ オブジェクト内でアクセスすることもできます (使用しているサーバー側フレームワークによって異なります)。

string S = HttpContext.Request.Headers["User-Agent"];

次のような結果が得られます。

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19"

クライアントが PC を使用している場合、彼が iPhone を使用している場合

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

アンドロイドはこちら

于 2012-05-12T07:26:32.817 に答える