So führen Sie über innerHTML nach AJAX eingefügte Skripte aus
Das dynamische Einfügen von HTML-Inhalten über AJAX ist eine gängige Praxis. Manchmal enthält dieser Inhalt jedoch Skript-Tags, die ausgeführt werden müssen. Diese Skripte werden jedoch möglicherweise nicht automatisch ausgeführt, wenn sie über innerHTML eingefügt werden.
Problem:
Stellen Sie sich ein Div namens „Content“ vor, das mit Daten aus einer PHP-Datei gefüllt werden soll über AJAX, einschließlich eines Skript-Tags. Das Skript innerhalb des Tags wird jedoch nicht ausgeführt:
<div>
Lösung:
Um über innerHTML injizierte Skripte auszuführen, können Sie den folgenden Code verwenden:
var arr = MyDiv.getElementsByTagName('script'); for (var n = 0; n < arr.length; n++) eval(arr[n].innerHTML);//run script inside div
Dieser Code durchläuft alle Skript-Tags innerhalb des Div und wertet deren innerHTML als JavaScript aus.
Das obige ist der detaillierte Inhalt vonWarum werden meine AJAX-injizierten Skripte nicht ausgeführt und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!