Ausführen injizierter Skripte über innerHTML nach AJAX-Anfrage
Wenn AJAX verwendet wird, um ein Element mit Daten aus einem serverseitigen Skript zu füllen, ist dies der Fall Es ist üblich, in diese Daten ein Skript-Tag einzufügen. Standardmäßig werden diese injizierten Skripte jedoch nicht ausgeführt. Dieser Artikel zeigt eine Lösung zum Ausführen solcher Skripte nach dem AJAX-Aufruf.
Problem:
Stellen Sie sich ein Div mit der ID „Content“ vor, das dynamisch Daten empfängt, einschließlich eines < ;script> Tag, aus einer PHP-Datei über AJAX. Trotz des Vorhandenseins des Skript-Tags bleibt der darin enthaltene Code nicht ausgeführt.
<div>
Lösung:
Um das über innerHTML eingefügte Skript auszuführen, verwenden Sie den folgenden Code :
var arr = MyDiv.getElementsByTagName('script'); for (var n = 0; n < arr.length; n++) eval(arr[n].innerHTML); //run script inside div
Dieser Code ruft das