Verzwicktes Problem beim starten von nachgeladenem JS Code
Donald
- javascript
0 LX
Hallo,
Ich lade den Inhalt von DIV Containern per asynchronem request über XMLHttpRequest. Soweit klappt alles.
Nun möchte ich dabei vom Server aus JavaScript Code mitgeben, der in einem anderen DIV wieder was neues einlädt. Genaugenommen soll nur meine Funktion LoadContent('DivName','URL') aufgerufen werden.
Ich will also in die Rückgabe für DIV1 einen JS Code liefern, der dann in DIV2 was anderes lädt. Wenn ich in den nachzuladenden Code von DIV1 aber sowas einfüge:
<script type="text/javascript">
LoadContent('ContentDiv', 'http://www.xxx.de/Content.php');
</script>
Dann wird das Script auf dem Client, der das auch lädt und im Quelltext hat, nicht ausgeführt. Wie kann ich dafür sorgen, dass JavaScript-Code in nachgeladenem HTML ausgeführt wird?
Donald
Der Grund dafür, dass es nicht funktioniert, ist ein Sicherheitsmechanismus bei den meisten modernen Browsern.
Du kannst diesen jedoch umgehen. Wahlweise, indem Du das nachgeladene Script-Tag vorübergehend entfernst und per DOM-Operation wieder einhängst - oder das darin enthaltene Script ggf. mit eval ausführst. Beides ist nicht besonders sicher.
Gruß, LX