Ergebnis 1 bis 7 von 7
  1. #1
    Avatar von stripmitz
    stripmitz ist offline Tripel-As
    registriert
    24-03-2006
    Beiträge
    160

    Stylesheets dynamisch laden

    Hu ich hab folgendes Problem:

    man soll mit meiner Lib styles laden können (LOTGD.loadStyleSheet('muh.css')

    die funktion sieht in etwa so aus:
    Code:
    el = document.createElement('link');
    el.ref = 'stylesheet';
    el.src= src;
    LOTGD.m_libspace.appendChild( el );
    das funktioniert aber nur, wenn es noch kein <link rel='stylesheet'...> gibt

    so dann hab ich mir gedacht, ich mach es so:
    Code:
    el = document.createElement('style');
    el.type = 'text/css';
    el.appendChild( document.createTextNode( '@import url("' + src +'");'  ) );
    //oder auch el.innerHTML =  '@import url("' + src +'");';
    LOTGD.m_libspace.appendChild( el );
    funzt, aber nur im Mozilla. Der IE wirft mir immer ne tolle Exception

    also gibt es eine Lösung für das Problem?

    DANKE,

    mfg strip

  2. #2
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Stylesheets dynamisch laden

    Wie wäre es mit einem Stylesheetswitcher mit Cookieverwaltung, welcher das zuletzt ausgewählte Stylesheet merkt? Aufzurufen mit z.B. mehreren Links:
    PHP-Code:
    <a href="#" onclick="setActiveStyleSheet('default'); return false;">Standard&nbsp;-&nbsp;(default)</a>
    <
    a href="#" onclick="setActiveStyleSheet('muh'); return false;">muh Stylesheet</a
    Einfach die Datei styleswitcher.js einbinden.
    Angehängte Dateien Angehängte Dateien
    Hoffe ich konnte helfen

  3. #3
    Avatar von stripmitz
    stripmitz ist offline Tripel-As
    registriert
    24-03-2006
    Beiträge
    160

    AW: Stylesheets dynamisch laden

    hmm ne er soll ja nich switchen sondern hinzufügen...
    in der einen datei stehen eben angaben fürs template, in der anderen zb. für ein Messageboxlayout usw...

    das switchen ist, wie du richtig erkannt hast, kein problem

    :mooh:

  4. #4
    Avatar von stripmitz
    stripmitz ist offline Tripel-As
    registriert
    24-03-2006
    Beiträge
    160

    AW: Stylesheets dynamisch laden

    also soweit ich das jetzt auf die schnelle testen konnte, funktioniert es, wenn ich statt
    LOTGD.m_libspace
    document.getElementsByTagName('body')[0]

    nehme...

    komisch

  5. #5
    Avatar von Malleus
    Malleus ist offline Lounge-Member
    registriert
    05-08-2004
    Beiträge
    824

    AW: Stylesheets dynamisch laden

    Du kannst anstelle von
    Zitat Zitat von stripmitz
    document.getElementsByTagName('body')[0]
    auch
    Code:
    document.body
    nehmen. Das ist "einfacher" zu schreiben ;-)

    Tschau

    Frank

  6. #6
    Avatar von stripmitz
    stripmitz ist offline Tripel-As
    registriert
    24-03-2006
    Beiträge
    160

    AW: Stylesheets dynamisch laden

    Zitat Zitat von Malleus
    Code:
    document.body
    nehmen. Das ist "einfacher" zu schreiben ;-)

    yo komisch... als ich das das letzte mal versucht hatte, kam ein fehler... blah nu gehts o0... *confused*

    trotzdem danke ^^

  7. #7
    cybaer ist offline Kaiser
    registriert
    12-09-2006
    Beiträge
    1.338

    AW: Stylesheets dynamisch laden

    Bin gerade per Google hierhingekommen. Deswegen noch ein verspäteter Nachtrag:

    Zitat Zitat von stripmitz Beitrag anzeigen
    das funktioniert aber nur, wenn es noch kein <link rel='stylesheet'...> gibt
    Das sollte aber wirklich gehen.

    Der IE bevorzugt allerdings sein proprietäres createStyleSheet().


    Code:
    el = document.createElement('style');
    el.type = 'text/css';
    el.appendChild( document.createTextNode( '@import url("' + src +'");'  ) );
    //oder auch el.innerHTML =  '@import url("' + src +'");';
    LOTGD.m_libspace.appendChild( el );
    funzt, aber nur im Mozilla. Der IE wirft mir immer ne tolle Exception
    Es gibt eigene Methoden, um Stylesheets zu bearbeiten! Text-Knoten sind eher ein (durchaus sinnvoller) "Workaround"! Der IE besteht hingegen auf den eigentlich dafür bestimmten Methoden!

    Und mit innerHTML kann man (u.a.) STYLE-Elemente nicht beschreiben - das hat MS (als sein Erfinder) so definiert.


    also gibt es eine Lösung für das Problem?
    Auf Coding: DHTML/CSS-Stylesheet oder -Regel mit JavaScript hinzufügen wird kurz angerissen (und in der Funktion umgesetzt), warum man welche Browser wie behandelt ...
    Gruß, Cybaer

Ähnliche Themen

  1. dynamisch if abfragen generieren
    Von jabberwocky im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 07-04-2006, 20:29
  2. java script lässt sich nicht laden
    Von bluetec2010 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 16-02-2005, 16:53
  3. Baumstrukturmenu dynamisch?
    Von ReCeD im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 09-12-2003, 17:33
  4. Antworten: 2
    Letzter Beitrag: 30-06-2003, 16:10
  5. Bilder dynamisch laden??
    Von quaky im Forum Flash
    Antworten: 2
    Letzter Beitrag: 12-01-2001, 09:34

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •