2017-06-16 4 views
0

Was versuche ich zu tun?Externe JS-Datei asynchron in document.ready() laden

Ich versuche, eine externe JS-Datei im Ereignis document.read() in der Anwendung asynchron zu referenzieren.

Was mache ich gerade, um dies zu erreichen?

var s = document.createElement('script'); 
    s.type = 'text/javascript'; 
    s.async = true; 
    s.src = 'https://xxxx/jquery-3.2.1.js'; 
    var x = document.getElementsByTagName('script')[0]; 
    x.parentNode.insertBefore(s, x); 

Meine Frage:

Gibt es einen besseren Weg, um die gleiche Sache mit weniger Code-Zeilen mit beliebigen anderen Methoden zu erreichen?

Antwort

1

Wenn Sie jQuery verwenden, dann könnten Sie die .getScript-Funktion verwenden.

jQuery.getScript("https://xxxx/jquery-3.2.1.js"); 
0

Ich denke, die Art, wie Sie es jetzt tun, ist ein guter Weg, es zu tun. Aber wenn Sie weniger Codezeilen möchten und/oder möchten, dass der HTML-Code, den Sie hinzufügen, besser sichtbar ist, können Sie dies tun.

var t = createElement("div"); 
t.innerHTML = '<script type="text/javascript" async src="https://xxxx/jquery-3.2.1.js"></script>'; 
var x = document.querySelector("script"); 
x.parentNode.insertBefore(t.childNodes, x); 
+0

Wie wäre es mit Jquery? Kann die "load" -Funktion in Jquery in diesem Szenario verwendet werden? http://api.jquery.com/load/ – Benjamin