Avatar billede soerenlyn Nybegynder
06. juni 2007 - 20:09 Der er 8 kommentarer og
1 løsning

Inkludere css med js

Hej Eksperter.

Er der en måde at lave en javascript-kode der kan nogenlunde dette (ved godt dete er forkert :))

if(condition) {
document.write '<link rel="stylesheet" type="text/css" href="css1.css" />'
} else {
document.write '<link rel="stylesheet" type="text/css" href="css2.css" />'

}

Og så skal disse jo være i header sådan at stylesheetet kan bruges ..
Håber I forstår hvad jeg mener ..
Avatar billede windcape Praktikant
06. juni 2007 - 20:22 #1
/**
* Add style rules to the designArea
*
* @return void
*/
RTE.prototype.addStyles = function() {
    var rteStylesheet = 'document.css';
    var doc = this.rte.contentWindow.document;
    if(doc.createStyleSheet) {
        doc.createStyleSheet(rteStylesheet);

    } else {
        var newSS  = doc.createElement('link');
            newSS.type = 'text/css';
            newSS.rel  = 'stylesheet';
            newSS.href = 'http://127.0.0.1/RTE/' + rteStylesheet;
        doc.getElementsByTagName("head")[0].appendChild(newSS);
    }
    return true;
}
Avatar billede windcape Praktikant
06. juni 2007 - 20:23 #2
og du kan så smide en condition uden om dette. if(doc.createStyleSheet) {} er browser check :-)
Avatar billede soerenlyn Nybegynder
06. juni 2007 - 20:33 #3
skal jeg så sætte dette ind i min min <head>?

  <script src="js/js.js" language="JavaScript" type="text/JavaScript">
  RTE.prototype.addStyles = function() {
    var rteStylesheet = 'css1.css';
    var doc = this.rte.contentWindow.document;
    if(doc.createStyleSheet) {
      doc.createStyleSheet(rteStylesheet);
    } else {
      var newSS  = doc.createElement('link');
      newSS.type = 'text/css';
      newSS.rel  = 'stylesheet';
      newSS.href = './css/' + rteStylesheet;
      doc.getElementsByTagName("head")[0].appendChild(newSS);
    }
    return true;
  }
  </script>
Avatar billede windcape Praktikant
06. juni 2007 - 22:04 #4
nej, det var et eksempel, ikke en løsning.

Det hjælper meget at læse koden istedet for bare at copy&paste.
Avatar billede windcape Praktikant
06. juni 2007 - 22:06 #5
derudover vil overstående ikke virke, a du ikke kan have en src attribute, og samtidig kode mellem dine script open og close tags.
Avatar billede soerenlyn Nybegynder
06. juni 2007 - 22:50 #6
Jeg har ændret lidt i det, så virker det :)

Smid et svar..
Avatar billede olebole Juniormester
07. juni 2007 - 13:25 #7
<ole>

- men de forskellige browsere har meget forskellig opfattelse af, hvad der er muligt - og hvornår. Derfor er der meget snævre grænser for scriptets virkeevne.

Muligheden for at loade CSS dynamisk/runtime er i de fleste browsere yderst begrænsede - grænsende til ikke eksisterende. Formodentlig skyldes det, at det som oftest er voldsomt ineffektivt at ændre CSS-regler, dynamisk  =)

/mvh
</bole>
Avatar billede windcape Praktikant
08. juni 2007 - 06:10 #8
korrekt olebole :-)

Dog vil jeg påpege at brugen i mit tilfælde er udelukkende til fordel for de brugere som kan se det (IE,Firefox), og ikke er muligt at omgå, pga. den måde midas/rte er bygget op på.
Avatar billede olebole Juniormester
08. juni 2007 - 13:48 #9
I de fleste tilfælde har det såmænd ikke engang nogen visuel virkning dér. Såsnart hele siden er indlæst, opstår problemet  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester