humpdi: javascriptfile in javascriptfile einbinden

Frage: kann man ein javascriptfile in javascriptfile einbinden?

das heißt, ein zentrales js file in dem ich dann alle files aus den unterordnern includiere?

danke

  1. Frage: kann man ein javascriptfile in javascriptfile einbinden?

    jein.

    das heißt, ein zentrales js file in dem ich dann alle files aus den unterordnern includiere?

    kommt drauf an.

    Der einfachste Weg ist, mit document.write() ein script Tag auszugeben.

    ich benutze dafür diese Funktion:

      
    window.__INCLUDE__ = {};  
    window.__JS_LIB__ = '.';  
    /////////////////////////////////////////////////////////////////  
    function include( src )  
    /////////////////////////////////////////////////////////////////  
    {  
        if(!is_string(src)) return;  
      
        if(window.__INCLUDE__[src] || !src) return;  
        src = src.indexOf('./') == 0 ? src : window.__JS_LIB__  + '/' + src;  
        window.__INCLUDE__[src] = true;  
      
        document.write( '<script type="text/javascript" src="' + src + '">\n<\/script>\n' );  
    }  
    
    

    die Variabel __JS_LIB__ kann so ermittelt werden:

    // DOM  
    var o = window.document.getElementsByTagName('script');  
    for(var i = 0; i < o.length; i++)  
    {  
        var src = o[i].src;  
        var idx = src.lastIndexOf('include.js');  
        if(src && idx > -1)  
        {  
            window.__JS_LIB__ = src.substring(0, idx - 1) ;  
            break;  
        }  
    }  
    
    

    wobei dann 'include.js' angepasst werden muss, je nach dem wie die Datei heißt in der die Funktion steht.

    Das hat den Vorteil, dass du nicht auf Pfade achten musst und alle JS Dateien ins gleiche Verzeichniss packen kannst.

    Aber!
    so lassen sich die Funktionen aus den eingebunden Dateien erst nach dem laden benutzen, im gegensatz zum direkten einbinden mit dem script Tag.

    Struppi.

    --
    Javascript ist toll (Perl auch!)