Ashura: Stylesheet ersetzen / ergänzen

Beitrag lesen

Hallo Marianne.

Hintergrund ist der das ich dem Browser mit aktiviertem bzw. deaktiviertem Javascript unterschiedliche CSS-Dateien zuweisen möchte.

Ergänzen sich die beiden Stylesheets oder stellt jedes für sich ein vollständiges Layout?

Bei ersterem kannst du <http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onload@title=beim Laden des Dokumentes> das bereits vorhandene „low.css“ um das „high.css“ ergänzen, in dem du <http://de.selfhtml.org/javascript/objekte/document.htm#create_element@title=ein weiteres link-Element> in den http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#head@title=Kopf  http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=einhängst.

Bei zweiterem ist es einfacher. Du suchst dir einfach per http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName alle link-Elemente, und suchst dir entweder per Index oder per Überprüfung eines geeigneten Attributes (hier sicher http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#link@title=href) das gewünschte. Dort ersetzt du einfach den Wert der href-Eigenschaft (und damit des gleichnamigen Attributes) durch die Bezeichnung des neuen Stylesheets (also „high.css“).

Leider tritt hierbei ein kurzes Flackern beim Laden der Seite auf, da onload wartet, bis das gesamte Dokument geladen wurde.

Wenn du dagegen im Kopf zuerst die link-Elemente und danach den script-Bereich notierst, kannst du auf onload verzichten, da das script-Element sowieso erst geparst wird, wenn das link-Element gemäß der Reihenfolge im Quelltext schon besteht.

Einen schönen Donnerstag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
mathbr:del.icio.us/ mathbr:w00t/