Selezione fogli di stile in base al browser – Javascript
Posted by admin | Posted in JavaScript, Riconoscimento Browser | Posted on 01-10-2009
Tag:JavaScript, JS, Riconoscimento Browser, selezione fogli di stile in base al browser, userAgent
0
Tra le varie soluzioni per caricare un foglio di stile in base al browser che stiamo utilizzando vi è anche quella che utilizza Javascript.
Utilizziamo un semplice test già definito qui.
1 opera=(/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))?1:0;2 mozilla=(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))?1:0;3 ie=(/MSIE (\d+\.\d+);/.test(navigator.userAgent))?1:0;
A questo punto a seconda della variabile che risulta vera possiamo caricare un CSS piuttosto che un altro:
01 if (ie){02 // Nel caso di Internet Explorer03 document.write("<link rel='stylesheet' href='ie.css' type='text/css' />");04 }else if (mozilla) {05 // Nel caso di Mozilla06 document.write("<link rel='stylesheet' href='mozilla.css' type='text/css' />");07 }else if (opera) {08 // Nel caso di Opera09 document.write("<link rel='stylesheet' href='opera.css' type='text/css' />");10 }else{11 // In caso di un altro browser12 document.write("<link rel='stylesheet' href='generic.css' type='text/css' />");13 }
Ovviamente i modi sono svariati, si può per esempio agire sugli elementi della pagina, in quanto a seconda del browser esistono metodi e attributi differenti per alcuni oggetti:
01 if(document.layers){02 // Netscape 4 ed equivalenti03 document.write("<link rel='stylesheet' href='netscape4.css' type='text/css' />");04 }05 if(document.all){06 // Internet Explorer07 document.write("<link rel='stylesheet' href='ie.css' type='text/css' />");08 }09 if(document.getElementById){10 // Netscape 6 ed equivalenti11 document.write("<link rel='stylesheet' href='netscape6.css' type='text/css' />");12 }
Così facendo il test sui precedenti metodi e attributi sappiamo che browser si sta utilizzando.

