問題タブ [51degrees]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - mvc3でモバイルデバイスを検出するためのいくつかのベストプラクティスは何ですか
自分のサイトの1つが特定のページをモバイルバージョンにリダイレクトできるようにしています。属性の使用法と51degrees.mobiに関するSteveSandersonとShijuVargheseのブログ投稿を読みました。
私がしたいのは、特定のページ、dealer-locator、デバイスがモバイルデバイスの場合は/ mobile/dealer-locatorにリダイレクトすることです。これを実現するために、dealerlocatorコントローラーと必要なビューを使用してエリアを設定しました。コードを直接テストしましたが、正しく機能しているようです。
ユーザーエージェントをiPhone3.0に変更して、実際のデバイスまたはFFからサイトにアクセスすると、/mobileにリダイレクトされます。ページルートをモバイルルートにマッピングする簡単な方法はありますか?
サイトはisapi_rewriteを使用しており、問題のページには/dealer-locatorを/dealerlocatorにマップするルールがあり、dealerlocatorはコントローラーです。
また、フォームの投稿が正しく機能していないように見えるので、今のところうまくいきます。
asp.net-mvc - ASP.NET MVC Web サイトに統合された iPhone & 51degrees.mobi
ASP.NET MVC Web サイトにモバイル バージョンを提供しています。Web サイトがwww.mywebsite.com で、モバイル バージョンがwww.mywebsite.it/Mobileであるとします。
最初の機能として、モバイル デバイスが www.mywebsite.com を呼び出しているかどうかを識別できます。呼び出している場合は、訪問者を www.mysite.com/Mobile にリダイレクトします。
これを行うために、 http://51degrees.codeplex.com/wikipage?title=MVC の方法 2.2で 説明されているように、51degrees.mobi API を Web サイトに統合し、実際の iPhone を使用してテストしました。
www.mywebsite.com への最初のアクセスは、適切に www.mywebsite.com/Mobile にリダイレクトされ、デバイス、iOS、およびブラウザが識別されます。これは私が探しているものです。
残念ながら、もう一度 www.mywebsite.com と入力しようとすると、iPhone はメインのホームページ www.mywebsite.com/home をロードし、モバイル エリアにリダイレクトされませんでした。
web.config ファイルによって直接管理されているため、最初のアクセスはうまくいったと確信しています。
それで、私は何が欠けていますか?これはキャッシュまたはセッション関連の問題ですか? どうすれば修正できますか?
よろしく、マルコ
asp.net-mvc - 51Degrees.mobi のログ記録により ASP.NET MVC が遅くなる
次の行51Degrees.mobi.config
は、ASP.NET MVC 4 プロジェクトの各コントローラー アクションに 2 ~ 3 秒の読み込み時間を追加します。
ASP.NET MVC 3 でも同じことが起こります。この<log>
セクションを削除すると、ページはほぼ瞬時に読み込まれます。次のように、検出にバイナリ デバイス データベースを使用しています。
を に設定するlogLevel
とDebug
、次の例外が発生します。
なぜこれが急激な速度低下を引き起こすのでしょうか? それはより深い問題の兆候ですか?
依存性注入のための StructureMap との非互換性はありますか?
更新: @James Rosewell のおかげで、ロギングによってアプリケーションの速度が低下した理由がわかりました。logFile
パスに関連しています。51Degrees が~/bin
ディレクトリ内の 51Log.txt ファイルに書き込むたびに、IIS はプールをリサイクルし、すべてのモジュールを再読み込みします。ログパスを変更し~/App_Data
て問題を解決しました。
asp.net-mvc-3 - ASP.NET MVC 3 の GetOverriddenBrowser()
ASP.NET MVC 4 には、私のミュータント モバイル ビュー エンジンに取って代わる優れたモバイル機能がいくつかありますが、製品の準備が整うまでは、ASP.NET MVC 3 のブラウザー オーバーライド機能を実装したいと考えています。
SetOverriddenBrowser()
経由でオブジェクトを.ASPXBrowserOverride
返すオーバーライド ユーザー エージェントで Cookieを設定しているようです。HttpBrowserCapabilitiesBase
HttpContext.GetOverriddenBRowser()
MVC 3 が 51Degrees.mobi を含むモバイル検出ライブラリを利用するためにこの機能を実装する最も簡単な方法は何でしょうか?
asp.net - リクエストごとに 51Degrees リダイレクトをプログラムで有効/無効にする
一言で言えば、セッション値に基づいて、要求ごとに (全員に対して静的ではなく)、プログラムで携帯電話のリダイレクトを有効または無効にする方法を見つけようとしています。
裏話は次のとおりです。
現在、ASP.NET アプリケーションで 51Degrees を使用して、要求をサイトのモバイル バージョンにリダイレクトしています。ユーザーが「設定」ページからこのリダイレクトを有効または無効にできる機能を追加したいと考えています。設定はユーザーごとに異なります。これまでのところ、51Degrees を無効にする設定はすべて静的です。これにより、一部のユーザーに対して無効にすることが難しくなります。
私が持っていた半解決策の 1 つはfirstRequestOnly="true"
、リダイレクトが発生しない場合は、リダイレクトを設定して逆にすることでした。他の多くの頭痛の種 (無関係) を引き起こしていますが、それをそのままにして、リクエストごとまたはユーザーごとのセッション値に基づいてリダイレクトを有効/無効にfirstRequestOnly="true"
したいと思います。firstRequestOnly="false"
問題は、これを行うためのきれいな方法を理解できないことです。
android - 51Degree.mobi と Razor
Visual Studio 2010 IDE を使用して ASP.net MVC 4 プロジェクトを作成します。
サイズとプロパティが異なるモバイル ブラウザだけでなく、デスクトップ PC でも Web アプリケーションを実行できるようにしたいと考えています。
thisから学んだ後、Android ベースの Opera ブラウザーの検出に関しては、51Degreeを使用する必要があることがわかりました。
しかし残念ながら、nugetコマンドを使用すると
ダウンロードしたデータは、私がすでに期待していたものではありません。以下は、nuget コマンドを使用してダウンロードした後の現在のプロジェクトの状況です。
を使用している提案や参照リンクを教えてくださいRazor and 51Degree.mobi
。
c# - IPhone、Android 用の特定のビュー (Asp.net MVC)
私は使っている ..
ASP.net MVC 4
51Degrees.mobi
jQuery Mobile
これらのテクノロジーの助けを借りて、プロジェクトを個別に作成する必要なく、Web アプリケーションの UI デザインをデスクトップ ベースのブラウザーだけでなく、モバイル ベースのブラウザーでも見栄えよくすることができます。
しかし、より具体的なモバイル デバイスに関しては、特定のビュー ファイルを呼び出したいと思います。
したがって、Global.asax
ファイルで以下のコードを使用します。
残念ながら、Android and IPhone specific view
IPhone Emulator と Opera Mobile Emulator からページを呼び出すたびに読み込まれません。
NuGet パッケージを使用して 51Degrees.mobi からダウンロードしたときに、ファイルが 2 つしか得られないことが問題だと思います。
FiftyOne.Foundation.dll
51Degrees.mobi.config
取得する必要があると思いますApp_Data/Devices.dat
が、それでも 51Degrees.mobi からこれら 2 つのファイルしか取得できません。
IPhone と Android の特定のビューを呼び出す方法を教えてください。すべての提案をいただければ幸いです。
asp.net - 51 度および iis キャッシング、mvc3、出力に関する潜在的な問題
デバッグ中にこれに気づき、本番環境で発生しないようにしたい:
MVC3 ベースのアプリで 51degrees ライブラリを使用して、Web サイトのモバイル バージョンを実装しました。私はカスタマイズされた URL またはサブドメインを使用していないため、各要求を分析して、HTML の通常バージョンまたはモバイル バージョンを返す前に、それがモバイル ブラウザーからのものかどうかを確認します。
デバッグ中に、IIS がページの出力をキャッシュする場合があることに気付きました。私はこれがホームページで起こるのを見ただけです。キャッシュされるたびに、同じコンテンツがモバイル ブラウザーとデスクトップ ブラウザーの両方に提供されるため、明らかに間違っています。
ブラウザ側のページ キャッシュを防止する方法がいくつかあることは承知していますが、これを処理するための具体的な推奨方法があるかどうかを確認したいと思いましたか?
asp.net-mvc - ASP.NET MVC 3のシンプルで信頼性の高いモバイルデバイスの検出:51degrees.mobiを使用しますか、それともネイティブにしますか?
ASP.NET MVC 3 Webアプリケーションでは、カスタムビューエンジンのビュー名をオーバーライドして、タブレット以外のモバイルデバイス用に最適化された別のビューを表示しています。
このビューオーバーライドを実行したいのはRequest.Browser.IsMobileDevice
、デバイスのネイティブ表示幅の正確な値だけです。
51degrees.mobiは、この単純なユースケースでは非常に重く複雑に感じます。たぶんそれは、51degrees Webサイトのすべての例とドキュメントを調べて、単純な実装の単純な質問のように見える答えを得ようとすることに対する私の欲求不満です。
51度がない場合、との値を取得しRequest.Browser.IsMobileDevice
ますRequest.Browser.ScreenPixelsWidth
。デスクトップブラウザの場合、幅は常に640ですRequest.Browser.Capabilities["51Degrees.mobi"]
が、の値は「不明」ですScreenPixelsWidth
。実装のサーバー側の性質を考えると、Unknown値の方が正確だと思います。
私の主な質問は、単純な要件のために本当に51度が必要なのかということです。
51度を使用しない場合、IsMobileDeviceと画面幅を正しく検出できないブラウザの具体例はありますか?たとえば、組み込みの.NET Request.Browser.IsMobileとScreenPixelsWidthの値は、新しいiPadが発売されたとき、または最新のAndroidブラウザーバージョンでは不正確または不在になりますか?私のサイトは約65%のモバイルユーザーを獲得しており、その多くはUP.Browserのようなブラウザを備えたラメフィーチャーフォンを使用しているため、モバイルを正しく利用することがいくらか重要です。
51度を使用する場合、常にRequest.Browser.Capabilities ["51Degrees.mobi"]にドリルダウンする必要がありますか?または、51度はRequest.Browser.IsMobileDeviceの値をオーバーライド/更新して、ブラウザーの評価と同期しますか?明らかに、Request.Browser.ScreenPixelsWidthをオーバーライドしません。
MVC 4を提案したり、WURFLなどの有料ソリューションを使用したりしない限り、「間違ったことをしているので、ここがより良い方法です」という回答を受け入れます。
asp.net - Web ページ、ASP.net にアクセスしているデバイスを検出する
私のページにアクセスしたデバイスに関する情報を検出するための優れたライブラリ/パッケージはありますか。たとえば、ユーザーが私のページにアクセスした場合、プラットフォーム、プラットフォームのバージョン、画面サイズ、製造元、モデルを検出したいと思います..
私は51Degress.mobiで試しましたが、Request.Browser.Platformの値を確認すると、値は「不明」でした...そして、それは私がアンドロイドフォンを使用したときでした..最近では珍しいプラットフォームではありません..そう私はその信頼を失った..または何か間違ったことをしたのだろうか?私がしたことは、nuGetを使用してインストールすることだけでした..
ああ、そうです、私はこれをサーバー側でやりたいと思っています..それを明確にするために:)
前もって感謝します!