Ich versuche, ein Skript-Tag dynamisch durch Javascript in meiner HTML-Seite hinzuzufügen. Gleich nach dem Code versuche ich ein paar Funktionen des neu hinzugefügten Skripts aufzurufen. Ich erhalte jedoch JS-Fehler, weil das Skript zu diesem Zeitpunkt noch nicht geladen wurde. Ich habe mehrere Posts durchgesehen, aber keiner von ihnen erklärt, wie Sie Ihr Skript explizit ausführen.Dynamisches Hinzufügen von Skript-Tag in Javascript
0
A
Antwort
0
Sie müssen für die onload
Veranstaltung Ihrer neu hinzugefügte Skript oder onreadystatechange
für IE < 11.
var script = document.createElement('script');
script.onload = function() {
// it's ready, so call your functions here
}
// now insert your new script into the document
Für IE < 11 hören:
script.onreadystatechange = function() {
if (script.readyState === 'loaded' || script.readyState === 'complete') {
// it's ready, so call your functions here
}
}
0
Diese Sie können ausführen Skripte wann und nur wenn die ganze Seite geladen wurde. Es gibt auch andere Möglichkeiten, dies zu tun, aber ich denke, das ist eine einfach und effektiv:
<script>
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = './js/ding.js';
document.body.appendChild(element);
var element1 = document.createElement("script");
element1.src = './js/dong.js';
document.body.appendChild(element1);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
Platz auf Ihrer Seite am Ende des Body-Tages. Alles, was von diesem Codeblock importiert wird, wird zuletzt ausgeführt und stellt sicher, dass alle im Kopf aufgerufenen Skripte vorhanden sind.
Ich benutze dieses Muster überall, weil es semantisch ist. Meine Scripts vom Typ "Bibliothek" werden in meinen Kopf geladen, und dann wartet mein benutzerdefinierter Code darauf, dass das gesamte Dom vor der Ausführung gerendert wird.
Verwandte Themen
- 1. Wie bekomme ich die Skripttag URL Header-Werte in Javascript
- 2. Dynamisches Hinzufügen von Serien
- 3. Dynamisches Hinzufügen von Eingabefeldern in Yii2
- 4. Dynamisches Hinzufügen von Registerkarten JTabbedPane
- 5. Dynamisches Hinzufügen von verschachtelten Schleifen
- 6. Dynamisches Objektliteral in Javascript?
- 7. Dynamisches Hinzufügen von HTML vom Außenansicht
- 8. Dynamisches Hinzufügen von Spalten in R
- 9. dynamisches Hinzufügen von Bildern in Wordpress-Design
- 10. Dynamisches Hinzufügen von Daten in LineChart JavaFX
- 11. Dynamisches Hinzufügen von Benutzersteuerungen in web.config registriert
- 12. Dynamisches Hinzufügen von Combobox in DataList/Listview
- 13. Dynamisches Hinzufügen von Komponenten in reagieren
- 14. Dynamisches Hinzufügen von Routen in Angular
- 15. Dynamisches Hinzufügen von Textbox funktioniert nicht
- 16. Dynamisches Hinzufügen @property in Python
- 17. Dynamisches Array Javascript
- 18. Dynamisches Hinzufügen von Formularelement und Tabellenelement in HTML-Seite
- 19. Dynamisches Hinzufügen von Daten zu einem UITableView
- 20. Dynamisches Hinzufügen von UserControl zu Formular
- 21. Dynamisches Hinzufügen von tr funktioniert nicht
- 22. Übergabe dynamisches Attribut von ADF zu Javascript
- 23. Dynamisches Javascript Formular funktioniert nicht
- 24. Dynamisches HTML-Formular - Javascript-Berechnungsfehler
- 25. Dynamisches Hinzufügen von Elementen in einem Baum in Winkel js
- 26. Dynamisches Hinzufügen neuer Knoten in Cassandra
- 27. Dynamisches Hinzufügen eines ViewUserControls in ASP.NET MVC
- 28. Dynamisches Hinzufügen und Entfernen erforderlicher Tags in HTML mithilfe von JavaScript?
- 29. Dynamisches Hinzufügen von Ansichten zu RelativeLayout in ScrollView
- 30. Dynamisches Hinzufügen von Elementen zu einer UI in C#
Bitte bearbeiten Sie Ihre Frage, um den Code, den Sie bis jetzt haben, und die genaue Fehlermeldung, die Sie bekommen, einzuschließen. –
Die wenigen Funktionen, die Sie aufrufen möchten, sollten sich in einem separaten JS befinden & Es sollte geladen werden, nachdem Ihr Skript geladen wurde ..! Code hier wäre hilfreich zusammen mit einer genauen Fehlermeldung. –