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:
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.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |