6

asp.netプロジェクトにモバイルWebフォームを含めました。モバイルユーザーだけが表示できる/表示する必要があると思いましたが、どのブラウザーからも表示できることに気付きました。問題は発生していません。 HttpBrowserCapabilities.IsMobileDevice = trueを使用して適切なaspxページに転送することでアクセスを比較できますが、モバイルデバイスからWebフォームにアクセスすると、IsMobileDevice = falseとして識別され、別のページに移動します。

どうしてそれが可能でしょうか?

モバイルデバイスはPocketPC2003を実行します。

4

3 に答える 3

4

IMHO: の値は、デバイス自体HttpContext.Current.Request.Headers("User-Agent")のタイプではなく、リクエストを行っているブラウザを実際に示しているため、より安全な賭けです。

経験から、スマートフォンがサードパーティのブラウザを介してサービスにリクエストを送信すると、多くの場合、あらゆる種類の「あなたのデバイスのタイプ」テスト (HttpCapabilitiesBase.IsMobileDeviceおよび/またはHttpContext.Current.Request.Browser.IsMobileDevice) が失敗することがわかりました。 .

残念ながら、許可されているユーザー エージェント (または許可されていないユーザー エージェント) の大きなリストが不足しているため、ページをレンダリングする前に、Mozilla、iPhone、または Opera で開始されていないことを確認する必要があります.. .

プレイするのは難しいアリーナです。
頑張ってください。

于 2008-08-18T04:27:17.060 に答える
2

UserAgentが混乱しているか、新しいブラウザが使用されているため、認識されないものもあります。OperaMobile9.5など。これを修正するには、これを定義するための特別なブラウザ(* .browser)ファイルを作成する必要があります。私はGoogleから送信されている新しいMozillaベースのUserAgentのためにそれをしなければなりませんでした。

于 2008-08-16T16:46:28.270 に答える
1

Microsoft Browser Capabilities よりも他の DDR を使用する必要があると思います。私は http://wurfl.sourceforge.net>WURFL を使用しています。これはオープン ソースであり、より拡張および更新されている可能性があります。DeviceAtlasのような他の商用 DDR があります。

多くの .net ライブラリがありますが、私は Marg.Wurfl を使用しています。これにより、wurfl 機能を使用して Web モバイル ページをレンダリングできます。

于 2008-09-25T08:37:13.220 に答える