Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz trisztan94 #2220 üzenetére

    Még régebben létrehoztam 3 függvényt ilyesmire, most előkotortam:

    /**
    * Inject a stylesheet
    */
    function injectCssFile( css_filename ){
    var
    headID = document.getElementsByTagName("head")[0],
    cssNode = document.createElement('link');
    cssNode.type = 'text/css';
    cssNode.rel = 'stylesheet';
    cssNode.href = css_filename;
    cssNode.media = 'screen';
    headID.appendChild(cssNode);
    }

    /**
    * Load external CSS file with jQuery
    */
    function loadCssFile ( css_url ){
    $('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', css_url) );
    }

    /**
    * Inject some inline CSS
    */
    function injectInlineCss( inlineCssContent ){
    var head = document.getElementsByTagName('head')[0],
    style = document.createElement('style'),
    rules = document.createTextNode( inlineCssContent );
    style.type = 'text/css';

    if(style.styleSheet){
    style.styleSheet.cssText = rules.nodeValue;
    }
    else {
    style.appendChild(rules);
    }
    head.appendChild(style);
    }

    A második nem emlékszem, működőképes-e, a többi viszont úgy rémlik, jól működött.
    Az injectCssFile() és a loadCssFile() tehát bepakol egy új CSS-fájlt, az injectInlineCss() pedig egy <style>-tagen belülre bepakol egyéb stílusokat, amiket átadsz neki (sringként kell átadni, <style> tag nélkül).
    .appendChild()-ot használok, tehát a <head> legvégére rakja, így garantált, hogy utolsó csomópontként fog szerepelni, amíg hozzá nem adsz újat.

    Az AJAX-os problémához látni kéne a kódot.

Új hozzászólás Aktív témák