12 Stimmen

Externes Javascript bei Funktionsaufruf laden

Ich würde gerne wissen, wie ich ein externes Javascript aus einer Funktion in mein Dokument laden kann.

19voto

seth Punkte 35911

Dies ist eine Möglichkeit:

function loadDaFun() {
   var script = document.createElement('script');
   script.src = '/path/to/your/script.js';
   var head = document.getElementsByTagName("head")[0];
   head.appendChild(script);
}

13voto

Christian C. Salvadó Punkte 763569

En @seth Die Antwort ist völlig richtig, aber Sie müssen die eingefügte Option nicht verlassen. script Element auf dem DOM, können Sie es entfernen, nachdem es geladen wurde, und Sie möchten vielleicht auch wissen wenn ist das eingefügte Skript einsatzbereit, zum Beispiel können Sie:

function loadScript(url, completeCallback) {
   var script = document.createElement('script'), done = false,
       head = document.getElementsByTagName("head")[0];
   script.src = url;
   script.onload = script.onreadystatechange = function(){
     if ( !done && (!this.readyState ||
          this.readyState == "loaded" || this.readyState == "complete") ) {
       done = true;
       completeCallback();

      // IE memory leak
      script.onload = script.onreadystatechange = null;
      head.removeChild( script );
    }
  };
  head.appendChild(script);
}

Verwendung:

loadScript("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js",
            function () { alert('jQuery has been loaded.'); });

-3voto

DigitalRoss Punkte 138823

Holen Sie es mit AJAX und dann eval() den Code.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X