検出したブラウザのバージョンを教えてくれるGWTAPIはありますか?
IE7の正規表現処理に欠陥があり、いくつかのトリッキーなString.matches()式をコーディングする必要があります。
検出したブラウザのバージョンを教えてくれるGWTAPIはありますか?
IE7の正規表現処理に欠陥があり、いくつかのトリッキーなString.matches()式をコーディングする必要があります。
以下のコードを使用して、ブラウザの種類を検出できます。
public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/;
次に、その関数を呼び出して、ブラウザーのタイプを確認できます。たとえば、以下のコードは、それがInternetExplorerであるかどうかを決定します。
if(getUserAgent().contains("msie"))
{
///////// Write your code for ie
}
このページには、人間が知っているほぼすべてのブラウザのユーザーエージェントがあります。
置換を使用して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);
Parser
inparser
変数の適切な(Webブラウザに依存する)実装が必要です。
詳細については、こちらをご覧ください。
GXTライブラリを使用している場合は、GXT .isChromeを使用してクロムを検出し、GXTクラスのさまざまなデータメンバーを検索して特定のブラウザを検出できます。