Servus,
habe mich in den letzten Wochen etwas mit Web 2.0 (Ajax) oder wie auch immer beschäftigt.
Dazu greife ich auf mehr oder weniger selbst geschriebene (zusammenkopierte) JS- Funktionen zurück. Die mir per POST und dem XMLHttpRequest (bzw. ActiveX im IE) die Daten nachladen sollen.
Nun bin ich so weit, das ich in beide Richtungen sauber kommunizieren kann. Allerdings habe ich das Problem, dass ich je nach Userinteraktion bestimmte JavaScripts brauche. Diese kann ich scheinbar auch nachladen, allerdings werden diese nicht oder nur einmal ausgeführt.
z.B der FCKEditor (Wysiwyg- Editor www.fckeditor.com) den kann ich zwar nachladen, aber er funktioniert nur einmal (oder nach Reload der ganzen Page).
Aber auch JS die einfach im Body eingebettet sind, werden nicht ausgeführt, und Body onLoad="" kann ich nicht nutzen, da ich nur DIV- Container reloade.
Hab auch schon mal gegoogelt, weiß aber nicht so genau wonach ich suchen soll.
Gibt es eine Möglichkeit, nachgeladene JS auszuführen?
Ich hoffe es hat jemand verstanden, was mein Problem ist...
Danke.
Inspirator
Seite 1 von 1
Frage Zu Xmlhttprequest Bzw. Nachladen Von Js.
Anzeige
#2
geschrieben 16. Juli 2006 - 00:32
spontan würd ich sowas hier vorschlagen
var jsFilePath = 'js/file_to_load.js';
var new_js = document.createElement('script');
new_js.setAttribute('type', 'text/javascript');
new_js.setAttribute('src', jsFilePath);
document.getElementsByTagName('head')[0].appendChild(new_js);
Dieser Beitrag wurde von Kr1x bearbeitet: 16. Juli 2006 - 00:33
#3
geschrieben 16. Juli 2006 - 10:48
Kann ich jetzt noch irgendwie einen Aufruf hinzufügen, der mir eine bestimmte Funktion aufruft?
Und kann ich statt
auch gleich den Quelltext reinschreiben? So dass ich die dass ich kein zusätzl. JS- File brauche ?
Inspirator
Und kann ich statt
new_js.setAttribute('src', jsFilePath);
auch gleich den Quelltext reinschreiben? So dass ich die dass ich kein zusätzl. JS- File brauche ?
Inspirator
#4
geschrieben 16. Juli 2006 - 19:41
Du kannst deine funktion am ende entweder ganz normal mit funktionsName(); oder als objekt mit function () {funktionsName();} aufrufen
Um den JS-Quellcode direkt anzugeben, würd ich es so ca. versuchen:
ersetze "new_js.setAttribute('src', jsFilePath);" durch:
versuchs mal damit
Alternativ kannst du auch den nachgeladenen quelltext per eval(); funktionstüchtig einbinden
Um den JS-Quellcode direkt anzugeben, würd ich es so ca. versuchen:
ersetze "new_js.setAttribute('src', jsFilePath);" durch:
var js_code = 'function msgBox(msg_text) { alert(msg_text); }
new_js.appendChild(document.createTextNode(js_code));
versuchs mal damit
Alternativ kannst du auch den nachgeladenen quelltext per eval(); funktionstüchtig einbinden
Thema verteilen:
Seite 1 von 1

Hilfe
Neues Thema
Antworten
Nach oben


