Question

Y at-il api GWT qui va me dire quelle version du navigateur, il détecté?

J'ai trouvé une faille à la manipulation regex IE7 et le besoin de coder autour de quelques expressions String.matches () délicat.

Était-ce utile?

La solution

Vous pouvez utiliser GWT différée liaison à l'aide de remplacement et créer deux implémentations de votre classe dans laquelle vous utilisez regex.

Par exemple, supposons que votre classe est nommée Parser et contient le code pour tous les navigateurs Web, sauf pour IE7. Ensuite, vous pouvez étendre Parser et créer la classe ParserIE7 pour IE7. Ensuite, dans votre fichier de configuration du module GWT vous pouvez ajouter:

<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>

Ensuite, en appelant

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

vous devriez avoir une mise en œuvre de Parser appropriée (en fonction navigateur Web) dans la variable parser.

Vous pouvez trouver plus de détails .

Autres conseils

Vous pouvez détecter le type de navigateur en utilisant le code ci-dessous.

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

Ensuite, vous pouvez appeler cette fonction et de regarder le type de navigateur. Par exemple le code ci-dessous décide si elle est internet explorer ou non.

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

Cette page a l'agent utilisateur pour à peu près tous les navigateurs connus à l'homme.

Si vous utilisez la bibliothèque de GXT, vous pouvez utiliser GXT .isChrome au chrome détecter et vous pouvez trouver des membres de données différents de la classe GXT pour détecter un navigateur particulier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top