Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 32 di 49
  • livello principiante
Indice lezioni

Esempio: individuare il browser

Come individuare il browser del visitatore attraverso i controlli condizionali
Come individuare il browser del visitatore attraverso i controlli condizionali
Link copiato negli appunti

Abbiamo visto, quando abbiamo parlato del DOM che la difficoltà maggiore della programmazione JavaScript consiste nel fatto che a browser differenti corrispondono differenti modelli di documenti.

JavaScript ci consente di verificare in un modo molto semplice se una proprietà di un oggetto esiste oppure no, è sufficiente utilizzare la sintassi:

if (nomeOggetto.nomeProprietà) {
  //istruzioni
}

se la proprietà esiste, nomeOggetto.nomeProprietà restituisce true e quindi la condizioni è verificata (e dunque le istruzioni vengono eseguite). Se la proprietà non esiste nomeOggetto.nomeProprietà restituisce false, e quindi la condizione non è verificata.

Questo accorgimento ci è molto utile nei molti casi in cui vogliamo adattare la pagina a seconda del browser: ad esempio per spedire un foglio di stile differente a seconda del browser usato.

Abbiamo detto che internet Explorer (qualsiasi versione) viene identificato da document.all, Netscape da document.layers, i browser di nuova generazione da document.getElmentById.

Per individuare il browser e far eseguire un codice differente a seconda del risultato, dovete allora impostare un programma di questo genere:

  • se è presente document.all
    codice da eseguire (se entriamo in questa casistica, i successivi else if ed else non vengono neanche valutati)
  • se invece è presente document.layers
    codice da eseguire
  • se è presente document.getElementById
    codice da eseguire
  • in tutti gli altri casi
    codice da eseguire

Traducendo quanto appena detto in codice JavaScript:

if (document.all) {
alert("stai usando Internet Explorer");
}

else if (document.layers) {
alert("stai usando Netscape 4");
}

else if (document.getElementById) {
alert("stai usando Netscape 6, o un browser di nuova generazione");
}

else {
prompt ("stai usando un browser sconosciuto");
}

Attenzione però alle "proprietà mimetiche" di Opera, che è in grado di camuffarsi da Internet Explorer o da Netscape. Se volete approfondire l'argomento, e vedere come spedire un differente foglio di stile esterno a seconda del browser potete consultare due articoli su html.it: L`arte dello sniffing: come riconoscere i browser e Riconosciamo i browser con Javascript.

Ti consigliamo anche