Om man använder Opera för att surfa på sidan ser det bra ut så länge man har ställt in Opera att identifieras som IE eller olika versioner av Mozilla. Men ställer man in Opera att identifieras som just Opera laddas det ingen still mall. Hur ska jag anpassa koden ovan för att det ska fungera?
/* Alla webbläsare som ej angivits ovan får den här stilmallen*/
else {
document.write("<LINK REL=stylesheet HREF=\"include/whatever.css\" TYPE=\"text/css\">");
}
Anledningen till det inte fungerar är just att webbläsare såsom Opera kan identifieras som IE, Mozilla, Netscape o.s.v. Den enda gången else-satsen i din kod kommer att köras är då besökaren ställt in sin webbläsare att identifieras som Opera.
Felet med koden är alltså att du laddar stilmall beroende på vad navigator.appName ger för sträng, vilket i Operas fall alltså kan vara i stort sett vad som helst.
Överväg att använda följande istället istället för navigator.appName:
...
navigator.userAgent;
...
För att identifiera Opera kan du göra så här:
...
var opera = ( window.opera && navigator.userAgent.toLowerCase().indexOf( "opera" ) != -1 );
...