Gunnar Bittersmann: Externes Stylesheet laden NUR wenn JS aktiv

Beitrag lesen

Hello out there!

Mir ist noch nichts eingefallen, wie für andere Browser eine '@import'-Regel an den Anfang eines Stylesheets zu schreiben oder gar ein neues zu erzeugen wäre.

wie meinen? (ich interpretiere es als: einfach ein style element erzeugen? oder mit document.styleSheets[\d+].insertRule('@import ...', ...) einfach eine import regel reinhängen?)

Letzteres meinte ich. Keine Ahnung, warum das in meiner Bastelstube nicht funzen[tm] wollte.

window.onload = function ()  
{  
  if (document.createStyleSheet)  
    document.createStyleSheet('test.css');  
  else if (document.styleSheets[0] && document.styleSheets[0].insertRule)  
    document.styleSheets[0].insertRule("@import url(foo.css);", 0);  
};

Das setzt aber im else-Zweig das Vorhandensein eines Stylesheets voraus (sei es per 'link rel="stylesheet"' oder 'style'. (Regeln müssen in diesem nicht vorhanden sein.)

Was ist, wenn keins da ist? Wie erzeugt man ein neues Stylesheet?

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)