Ich habe eine HTML-Seite wie folgt:jQuery - Script-Tags im HTML werden von jQuery analysiert und nicht ausgeführt
<html>
<body>
<div id='something'>
...
<script>
var x = 'hello world';
</script>
...
</div>
</body>
</html>
Auf einer anderen Seite, ich dies tue:
$.ajax({
url: 'example.html',
type: 'GET',
success: function(data) {
$('#mydiv').html($(data).find('#something').html());
alert(x);
}
});
jQuery, aber die Ausführung ist nicht das Javascript in der ersten Datei, obwohl die Dokumentation sagt, es tut. Wie kann ich es machen?
EDIT: Leider in der realen Welt Anwendung, die ich arbeite ich habe keine Kontrolle über das, was die "inklusive" Seite hat. Wir befinden uns auf derselben Domain, aber ich kann den ausgegebenen Code nicht ändern, da es sich um ein Produkt handelt, das von unserer IT-Abteilung nicht geändert werden kann.
Haben Sie sehen überprüft, was, wenn Sie tun sich selbst einen 'alert()' im Skript geschieht (also innerhalb der "included" Seite)? – Pointy
Nun, wenn Sie es nicht ändern können, können Sie meine Theorie überprüfen, indem Sie einen Debug-Code hinzufügen, um zu sehen, wie '$ (data) .html()' aussieht. Wenn das die Skript-Tags nicht enthält, ist das das Problem. Vielleicht möchten Sie in der jQuery-Quelle nachschauen und herausfinden, was sie zum Entfernen von Skripten tut. Es verwendet eine ziemlich hässliche Regex, aber vielleicht könnten Sie die Skripte selbst entfernen und dann ausführen. – Pointy