Uno degli scopi principali che hanno portato alla creazione di framework AJAX come
Google Web Toolkit (GWT) è quella di sollevare lo sviluppatore dall'onere di dover testare la propria web application su ogni tipo e versione diversa di browser.
Purtroppo utilizzando librerie di widget abbastanza ricche e complesse, come
SmartGWT, non è sempre possibile avere la compatibilità totale per tutti i browser, soprattutto quando ci troviamo di fronte vecchie versioni di Internet Explorer.
Di solito, per risolvere questi problemi, si ricorre alla scrittura di
metodi nativi JavaScript da eseguire solo se la
webapp gira su un particolare browser, ma prima di ricorrere a tali soluzioni potrebbero essere sufficienti
piccoli accorgimenti, che oltre a cercare di migliorare la visibilità della
webapp, possono risolvere altri problemi, che si possono avere visualizzando il sito in una vecchia versione di IE, come l'elevato
consumo di CPU, nel caso in cui la
webapp da testare utilizzi le chiamate
GET.
Per prima cosa, bisognerebbe utilizzare sempre le
versioni più recenti di
SmartGWT, che con il passare del tempo cercano di risolvere inconvenienti che affliggono le parti di codice dedicate alle vecchie versione di IE.
In secondo luogo, si può far ricorso al
quirks mode applicando, nella pagine HTML nel cartella
war del progetto
GWT, un
commento sopra al tag DOCTYPE, se non addirittura cancellando il suddetto tag, per non incappare nella realizzazione del browser del DTD specificato nel
DOCTYPE.
Inoltre se con IE7 non ci sono problemi di visualizzazione, potrebbe essere utile introdurre nel file HTML, il meta tag
X-UA-Compatible nel seguente modo
<html>
<head>
<meta http-equiv="X-UA-Compatible"
content="IE=EmulateIE7" />
...
</head>
</html>
Tale tag viene letto e interpretato solo da IE e ignorato dagli altri browser, e obbliga ogni versione di IE a visualizzare la
webapp con le modalità di visualizzazione di IE7. Per utilizzare l'emulazione di IE7 è necessario intervenire anche sul file
.gwt.xml del progetto aggiungendo il seguente tag:
...
<set-property name="user.agent" value="ie6" />
...
Concludiamo ricordando che, dalla versione di IE 8, è possibile caricare le pagine web utilizzando le
modalità di visualizzazione delle versioni precedenti, semplicemente premendo
F12 nel browser e selezionando la modalità desiderata. Ciò è molto utile per verificare facilmente se gli accorgimenti hanno avuto o meno gli effetti desiderati.