私は特定のタスクで働いています。3 つの異なるスタイルシートを持つ 3 つのマスター ページがあり、
ウィンドウ、モバイル、iPadなど、ユーザーが使用しているものを検出できるjavascript関数があります...
たとえば、ページ サイズが 700 未満の場合はマスター ページ 1 を設定し、ページ サイズが 700 を超える場合はサーバー側の pre-init 関数でマスター ページ 2 として設定します。
誰かが私の問題を解決する手がかりを持っていますか?
私は特定のタスクで働いています。3 つの異なるスタイルシートを持つ 3 つのマスター ページがあり、
ウィンドウ、モバイル、iPadなど、ユーザーが使用しているものを検出できるjavascript関数があります...
たとえば、ページ サイズが 700 未満の場合はマスター ページ 1 を設定し、ページ サイズが 700 を超える場合はサーバー側の pre-init 関数でマスター ページ 2 として設定します。
誰かが私の問題を解決する手がかりを持っていますか?
画面サイズの検出に 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
アンドロイドはこちら