---
title: "Ladda CSS till Opera?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/71784-ladda-css-till-opera"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "bigsky"
published: "2003-03-22T02:14:08.000Z"
updated: "2003-03-23T19:19:49.000Z"
replies: 4
views: 242
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/71784-ladda-css-till-opera"
---

# Ladda CSS till Opera?

## #1 — bigsky, 2003-03-22T02:14Z

Jag använder följande kod till att ladda in stillmallar beroende på system och browser:

```
    browserVer = parseFloat(navigator.appVersion); 
if ((navigator.appVersion.indexOf("Mac") != -1)) {
	document.write("<LINK REL=stylesheet HREF=\"/include/mac.css\" TYPE=\"text/css\">");
}
else if ((navigator.appName == "Microsoft Internet Explorer") && (browserVer > 1)) {
	document.write("<LINK REL=stylesheet HREF=\"include/ie.css\" TYPE=\"text/css\">");
}
else if (document.layers) {
	document.write("<LINK REL=stylesheet HREF=\"include/ns.css\" TYPE=\"text/css\">");
}
else if (navigator.appName == "Netscape" && document.getElementById) {
	document.write("<LINK REL=stylesheet HREF=\"include/ns67.css\" TYPE=\"text/css\">");
}
```

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?

Permalänk: https://www.webforum.nu/p/71784

## #2 — sabbacus, 2003-03-22T04:05Z

/\* 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\\"\>");
}

Permalänk: https://www.webforum.nu/p/985522

## #3 — bigsky, 2003-03-23T00:03Z

Nej, det verkar inte fungera. Ser ut så här nu:

```
    browserVer = parseFloat(navigator.appVersion); 
if ((navigator.appVersion.indexOf("Mac") != -1)) {
	document.write("<LINK REL=stylesheet HREF=\"include/mac.css\" TYPE=\"text/css\">");
}
else if ((navigator.appName == "Microsoft Internet Explorer") && (browserVer > 1)) {
	document.write("<LINK REL=stylesheet HREF=\"include/ie.css\" TYPE=\"text/css\">");
}
else if (navigator.appName == "Netscape" && document.getElementById) {
	document.write("<LINK REL=stylesheet HREF=\"include/ns.css\" TYPE=\"text/css\">");
}
else {
    document.write("<LINK REL=stylesheet HREF=\"include/opera.css\" TYPE=\"text/css\">"); 
}
```

Permalänk: https://www.webforum.nu/p/985976

## #4 — Peter S, 2003-03-23T09:19Z

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 );
...
```

 :)

Permalänk: https://www.webforum.nu/p/986075

## #5 — bigsky, 2003-03-23T19:19Z

Skulle du kunna visa hur jag ska konvertera koden? För att använda userAgent istället för appName.

Permalänk: https://www.webforum.nu/p/986475

---

Tråden på webben: https://www.webforum.nu/amne/html-css/71784-ladda-css-till-opera
