Hallo ihr,
ich möchte gerne alternative Designs auf meiner HP anbieten, ein normales, und ein etwas verspielteres. Bei meiner Recherche bin ich auf diesen selfHTML-Foreneintrag gestoßen:
SELFHTML Forumsarchiv / 2007 / Januar / Design per Dropdown auswählen.
Meine beiden Stylesheets heißen style1.css und style2.css, darin ist jeweils aus Testzwecken h1 auf rot bzw. auf grün gesetzt, und die HTML-Datei besteht auch nur aus einem <h1> und einem Link zur javascript:aendern();
Ich habe mir folgendes Skript geschrieben:
Aber das funktioniert nicht... Obwohl es genau so ist, wie in den Beispielen auf Selfhtml.. Was ist falsch?
Gruß
Jens
/edit: Jetzt läuft es. Tja, so eine Fehlerkonsole von Firefox ist schon was wert, wenn man weiß, wo man sie findet :roll:
Ich lass den Code mal hier stehen, der obige funktioniert jetzt, aber nur, wenn das Stylesheet der letzte Eintrag im <head> ist. Wie kann man das variabel gestalten?
ich möchte gerne alternative Designs auf meiner HP anbieten, ein normales, und ein etwas verspielteres. Bei meiner Recherche bin ich auf diesen selfHTML-Foreneintrag gestoßen:
SELFHTML Forumsarchiv / 2007 / Januar / Design per Dropdown auswählen.
Meine beiden Stylesheets heißen style1.css und style2.css, darin ist jeweils aus Testzwecken h1 auf rot bzw. auf grün gesetzt, und die HTML-Datei besteht auch nur aus einem <h1> und einem Link zur javascript:aendern();
Ich habe mir folgendes Skript geschrieben:
Code:
function aendern () {
// Stylesheet-Eintrag entfernen
var child = document.getElementsByTagName("head")[0].lastChild;
dummy = document.getElementsByTagName("head")[0].removeChild(child);
// neues <link> erzeugen
var myLink = document.createElement("link");
// Attribute erstellen
// <link rel="" href="" type="">
var myLink_rel = document.createAttribute("rel");
myLink_rel.nodeValue = "stylesheet";
var myLink_type = document.createAttribute("type");
myLink_type.nodeValue = "text/css";
var myLink_href = document.createAttribute("href");
myLink_href.nodeValue = "style2.css";
// Attribute hinzufügen
myLink.setAttributeNode(myLink_rel);
myLink.setAttributeNode(myLink_type);
myLink.setAttributeNode(myLink_href);
// Das Element wieder hinzufügen
document.getElementsByTagName("head")[0].appendChild(myLink);
}
Gruß
Jens
/edit: Jetzt läuft es. Tja, so eine Fehlerkonsole von Firefox ist schon was wert, wenn man weiß, wo man sie findet :roll:
Ich lass den Code mal hier stehen, der obige funktioniert jetzt, aber nur, wenn das Stylesheet der letzte Eintrag im <head> ist. Wie kann man das variabel gestalten?
Zuletzt bearbeitet: