JS Code nach AJAX
Alexander, W.
- javascript
Hallo,
wenn man ein XHTML Code über AJAX in ein <div> ladet und dieser Code beinhaltet ein JS. Was muss man machen, damit dieser JS-Code in dem neu geladenen Content ausgeführt wird? Bzw. was ist übliche Verfahren dazu?
Das, was über AJAX geladen wird sieht ca. so aus:
... xhtml code ...
<script type="text/javascript" id="z-js-init">
/* <![CDATA[ */
my.init = function() {
my.test = 'from ajax';
}
/* ]]> */
</script>
... xhtml code ...
Wenn "my.test" beim ersten Laden "from browser" war, dann bleibt es nach dem neuen Laden über AJAX immer noch "from browser", dabei hoffe ich auf "from ajax".
my.init() wird natürlich nach dem neuen Laden ausgeführt.
Danke im Voraus.
Gruß Alexander, W.
Hallo Alexander,
wenn man ein XHTML Code über AJAX in ein <div> ladet und dieser Code beinhaltet ein JS. Was muss man machen, damit dieser JS-Code in dem neu geladenen Content ausgeführt wird? Bzw. was ist übliche Verfahren dazu?
nunja, es gibt eine ganze Reihe von Herangehensweise. Grundsätzlich wird Code von Javascript ausgeführt, wenn dieser syntaktisch korrekt ist und mit Mediatyp application/ecmascript, application/javascript, application/x-ecmascript, application/x-javascript, text/ecmascript, text/javascript, text/x-ecmascript oder text/x-javascript via XMLHttpRequest geholt wird (vgl. Forumsarchiv). Kreiert man mit DOM ein neues Element <script> und hängt dies ins Dokument ein, wird der darin eingefügte Code ebenso ausgeführt. Wenn Dein xhml code nur ein Auszug eines xhml-Dokuments ist, kannst Du mit Regulären Ausdrücken von der Eigenschaft responseText den Inhalt von <script> ermitteln und http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#eval@title=eval() als Argument mitgeben.
Gruß aus Berlin!
eddi