La compatibilità javascript dei browser

Il Javascript non è un linguaggio universale. Uno script potrebbe essere interpretato in modo diverso a seconda del browser dell'utente.

Ogni browser integra nel software un interprete Javascript.

Quando il browser incontra uno script in una pagina web, legge il codice e lo esegue dal lato client con l'interprete Javascript a sua disposizione.

Pertanto, se l'interprete non comprende bene le istruzioni possono verificarsi errori e malfunzionamenti.

In caso di errore il browser blocca l'esecuzione dello script e segnala un messaggio sullo schermo dell'utente.

Perché esistono diverse versioni del linguaggio Javascript?

Il linguaggio Javascript fu sviluppato da Netscape. Nel corso degli anni furono rilasciate diverse versioni per implementare nuove istruzioni e funzioni.

Se uno script è sviluppato con una versione più recente, rischia di non essere eseguito nei browser più vecchi.

Esempio. Se scrivo uno script con Javascript 1.3 potrebbe non funzionare sul browser Netscape 1.0, uno dei più vecchi perché il suo interprete non contiene le funzioni più recenti e non può eseguirle.

Questa tabella mostra alcune versioni dei browser Netscape e la loro compatibilità le versioni del linguaggio Javascript.

Versione Browser
Javascript 1.0 Netscape 2.0 Explorer 3.0
Javascript 1.1 Netscape 3.0 Explorer 4.0
Javascript 1.2 Netscape 4.0 Explorer 4.0
Javascript 1.3 Netscape 4.5 Explorer 5.0

Come evitare i messaggi di errore per incompatibilità del browser?

Una tecnica consiste nell'indicare la versione Javascript utilizzata nella prima istruzione di apertura dello script.

<SCRIPT LANGUAGE="JavaScript1.3">
document.write("questa è una scritta di javascript");
</SCRIPT>

Quando il browser incontra questa informazione, la confronta con la versione dell'interprete javascript a sua disposizione.

Se la versione dello script è uguale o inferiore a quella dell'interprete, il browser esegue lo script. Viceversa, non lo esegue.

Esempio. Se documento nello script la versione 1.3, il browser Netscape 1.0 non esegue lo script, senza visualizzare un messaggio di errore sullo schermo. Il browser più recente Netscape 4.5 invece lo riconosce e lo esegue perché ha un interprete idoneo.

Il test dello script su più browser e versioni

E' comunque buona prassi testare uno script su più browser e diverse versioni, per vedere gli effetti e accorgersi dei malfunzionamenti.

D'altra parte è anche necessario usare buon senso. Non si può testare uno script su tutti i browser che si sono avvicendati in venti anni.

E' quindi sufficiente fare il test soltanto sulle versione più utilizzare dagli utenti, in modo da coprire almeno il 90% del traffico degli utenti.

Si può anche omettere di indicare la versione javascript quando lo script è molto semplice e utilizza istruzioni già note nella prima versione del linguaggio.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Javascript

Le strutture di controllo

Gestione degli errori ed eccezioni

Le strutture cicliche

FAQ