27

検出したブラウザのバージョンを教えてくれるGWTAPIはありますか?

IE7の正規表現処理に欠陥があり、いくつかのトリッキーなString.matches()式をコーディングする必要があります。

4

3 に答える 3

28

以下のコードを使用して、ブラウザの種類を検出できます。

public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/;

次に、その関数を呼び出して、ブラウザーのタイプを確認できます。たとえば、以下のコードは、それがInternetExplorerであるかどうかを決定します。

if(getUserAgent().contains("msie"))
{
///////// Write your code for ie
}

このページには、人間が知っているほぼすべてのブラウザのユーザーエージェントがあります。

于 2010-06-17T18:40:25.743 に答える
27

置換を使用してGWT遅延バインディングを使用し、正規表現を使用するクラスの2つの実装を作成できます。

たとえば、クラスに名前が付けられParserており、IE7を除くすべてのWebブラウザーのコードが含まれているとします。次に、IE7のクラスを拡張Parserおよび作成できます。ParserIE7次に、GWTモジュール構成ファイルに以下を追加できます。

<replace-with class="Parser">
  <when-type-is class="Parser"/>
</replace-with>

<replace-with class="ParserIE7">
  <when-type-is class="Parser" />
  <when-property-is name="user.agent" value="ie7"/>
</replace-with>

次に、

Parser parser = GWT.create(Parser.class);

Parserinparser変数の適切な(Webブラウザに依存する)実装が必要です。

詳細については、こちらをご覧ください。

于 2010-06-17T18:48:42.237 に答える
7

GXTライブラリを使用している場合は、GXT .isChromeを使用してクロムを検出し、GXTクラスのさまざまなデータメンバーを検索して特定のブラウザを検出できます。

于 2011-02-04T07:16:56.243 に答える