È possibile utilizzare GWT deferred binding using replacement e creare due implementazioni della classe in cui si utilizza regex.
Ad esempio, supponiamo che la classe sia denominata Parser
e che contenga il codice per tutti i browser Web ad eccezione di IE7. Quindi è possibile estendere Parser
e creare la classe ParserIE7
per IE7. Poi, nel file di configurazione del modulo GWT è possibile aggiungere:
<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>
Poi chiamando
Parser parser = GWT.create(Parser.class);
si dovrebbe avere un adeguato (a seconda del browser web) l'attuazione di Parser
in parser
variabile.
Potete trovare ulteriori dettagli here.
Potresti descrivere il difetto di IE7 per noi? Che cosa è una regex di esempio e in che modo IE7 si sbaglia (e altri browser lo fanno bene)? Non penso che influenzi la domanda o le risposte, sarebbe bello avere quell'informazione qui per i posteri. –
Ho una regex di password che corrisponde a == true in ogni browser testato oltre a IE7. PASSWORD_REGEX = "((? =. * \\ d) (? =. * [Az]) (? =. * [AZ]). {8,24})" – Stevko