0
A
答えて
0
ブールの値を知りたい場合は、次のヘルパーメソッドを使用します。
要求されたデバイスの詳細を知りたい場合は、のようなサードパーティのライブラリを使用する必要があります。
public static bool IsMobileBrowser(HttpContext context)
{
// first try built in asp.net check
if (context.Request.Browser.IsMobileDevice)
{
return true;
}
// then try checking for the http_x_wap_profile header
if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] != null)
{
return true;
}
// then try checking that http_accept exists and contains wap
if (context.Request.ServerVariables["HTTP_ACCEPT"] != null &&
context.Request.ServerVariables["HTTP_ACCEPT"].ToLower().Contains("wap"))
{
return true;
}
// Finally check the http_user_agent header variable for any one of the following
if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null)
{
// List of all mobile types
string[] mobiles =
new[]
{
"android", "opera mini", "midp", "j2me", "avant", "docomo", "novarra", "palmos", "palmsource",
"240×320", "opwv", "chtml",
"pda", "windows ce", "mmp/", "blackberry", "mib/", "symbian", "wireless", "nokia", "hand", "mobi",
"phone", "cdm", "up.b", "audio", "sie-", "sec-", "samsung", "htc", "mot-", "mitsu", "sagem", "sony",
"alcatel", "lg", "eric", "vx", "nec", "philips", "mmm", "xx", "panasonic", "sharp", "wap", "sch",
"rover", "pocket", "benq", "java", "pt", "pg", "vox", "amoi", "bird", "compal", "kg", "voda",
"sany", "kdd", "dbt", "sendo", "sgh", "gradi", "dddi", "moto", "iphone"
};
// Check if the header contains that text
var userAgent = context.Request.ServerVariables["HTTP_USER_AGENT"].ToLower();
return mobiles.Any(userAgent.Contains);
}
return false;
}
関連する問題
- 1. .netロールプロバイダのリダイレクトを処理する方法は?
- 2. UIWebViewのリダイレクトを正しく処理する方法は?
- 3. 処理中にコントロールの更新を処理する方法は?
- 4. 新しいウィンドウを処理し、ポップアップして_selfにリダイレクトする方法は?
- 5. サーブレットフィルタでMaxUploadSizeExceededExceptionを処理すると、リダイレクトでフラッシュメッセージを設定する方法は?
- 6. Azureストリーム解析 - エラーイベント/行をリダイレクトまたは処理する方法は?
- 7. HTTPリダイレクトを処理するためにMSXML IXMLHTTPRequestを取得する方法?
- 8. Javaアノテーション処理 - すでに処理されたコードを処理する方法?
- 9. は、リダイレクトとメッセージでエラーを処理する方法を表現します。
- 10. クッキー/リダイレクトを処理するより良い方法はありますか?
- 11. クッキーを許可して、302リダイレクトをワークボックスサービスワーカーツールで処理する方法は?
- 12. 平均ログインとリダイレクトの処理方法をスタック
- 13. UIWebViewでURLリダイレクトを処理する
- 14. requireJsタイムアウトエラーを処理する方法は?
- 15. ActivityNotFoundExceptionを処理する方法は?
- 16. オブジェクトリテラルを処理する方法は?
- 17. System.CannotUnloadAppDomainExceptionを処理する方法は?
- 18. クロスインポートを処理する方法は?
- 19. Laravel NotFoundHttpExceptionを処理する方法は?
- 20. pagerAdapter.notifyDataSetChanged()を処理する方法は?
- 21. AskTimeoutExceptionを処理する方法は?
- 22. EOFExceptionを処理する方法は?
- 23. バック・クリックを処理する方法は?
- 24. FileNotFoundExceptionを処理する方法は?
- 25. DISABLE_NOTIFICATION_VALUEを処理する方法は?
- 26. Androidリダイレクト(リターンコード302)の処理
- 27. htmlUnitでのリダイレクト処理
- 28. ReactとRedux:処理後リダイレクト
- 29. スプリングフォーム処理 - リダイレクト成功ビュー
- 30. backBarButtonItemの処理方法は?
"プロセスへのリダイレクト"は何を意味するのですか。それを明確にすることはできますか?モバイルユーザーを他の場所に派遣するのではなく、レスポンシブサイトを構築するだけではどうですか?これはデスクトップアプリケーションのタグとは何が関係していますか? – mason