browser - tengo - ¿La versión del navegador detecta usando GWT?
cómo puedo saber la versión de internet explorer que tengo (3)
¿Hay una API de GWT que me diga qué versión de navegador detectó?
He encontrado un error con el manejo de expresiones regulares de IE7 y necesito codificar algunas expresiones complicadas de String.matches ().
Puede detectar el tipo de navegador utilizando el siguiente código.
public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/;
Luego puede llamar a esa función y observar el tipo de navegador. Por ejemplo, el siguiente código decide si se trata de un explorador de Internet o no.
if(getUserAgent().contains("msie"))
{
///////// Write your code for ie
}
Esta página tiene el agente de usuario para casi todos los navegadores conocidos por el hombre.
Puede usar el enlace diferido de GWT mediante reemplazo y crear dos implementaciones de su clase en las que use expresiones regulares.
Por ejemplo, supongamos que su clase se llama Parser
y contiene código para todos los navegadores web, excepto para IE7. Luego puede extender el Parser
y crear la clase ParserIE7
para IE7. Luego, en su archivo de configuración del módulo GWT puede agregar:
<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>
Luego llamando
Parser parser = GWT.create(Parser.class);
deberías tener una implementación adecuada (dependiente del navegador web) de Parser
en la variable del parser
.
Puedes encontrar más detalles aquí .
Si está utilizando la biblioteca GXT, puede usar GXT .isChrome para detectar Chrome y puede encontrar diferentes miembros de datos de la clase GXT para detectar un navegador en particular.