![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
ist es möglich, vom Server dynamisch Javascriptcode nachzuladen, diesen in ein bestehendes DOM einzubauen und danach auch auszuführen? |
|
Diesbezügliche Experimente schlugen fehl; vielleicht habe ich etwas übersehen? |
#3
| |||
| |||
|
|
Scriptcode kann man definitiv nicht in das DOM einbauen, das liegt schon compiliert vor. |
|
Diesbezügliche Experimente schlugen fehl; vielleicht habe ich etwas übersehen? Denkbar. -v bitte. |
#4
| |||
| |||
|
|
ist es möglich, vom Server dynamisch Javascriptcode nachzuladen, diesen in ein bestehendes DOM einzubauen und danach auch auszuführen? |
#5
| |||
| |||
|
|
Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> wrote: Scriptcode kann man definitiv nicht in das DOM einbauen, das liegt schon compiliert vor. Interessant, das wusste ich nicht. Diesbezügliche Experimente schlugen fehl; vielleicht habe ich etwas übersehen? Denkbar. -v bitte. Keine Ahnung, ich hab halt versucht, Funktionen aufzurufen, die ich nachträglich ins DOM eingebaut hatte. So wie ich das sehe, bleibt nur der Weg über eval(); - was mir zwar nicht gefällt, aber auch nicht wesentlich schlimmer ist, als Code nachzuladen. |
arse(), wenn es
#6
| |||||
| |||||
|
|
Offensichtlich hast Du eine falsches Verständnis vom DOM. |
|
Das Document Object Model ist zunächst mal ein API, welches folglich (aus Effizienzgründen) compiliert vorliegt. Das Einbauen von Script-Code in dieses API erforderte Decompilierung und Neucompilierung mit dem eingebauten Script-Code. |
|
Du möchtest hingegen wahrscheinlich (externen) Script-Code nachträglich verfügbar machen, |
|
Es gibt in einigen UAs die Möglichkeit Script-Code quasi nachzuladen, indem man entsprechende script-Elemente (mit DOM-Methoden) in den Dokumentbaum einfügt. Dieser Ansatz ist jedoch nirgendwo spezifiziert und daher nicht interoperabel. Hier nur der Vollständigkeit halber der Code: http://PointedEars.de/scripts/dhtml.js>, loadScript(). |
|
Sinnvoll ist neben eval() noch (new Function(code)).call(this); (wobei diese semantisch nicht identisch sind) bzw. JSON: arse(), wenn eslediglich um JSON-Daten geht. |
#7
| |||
| |||
|
|
Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> wrote: Das Document Object Model ist zunächst mal ein API, welches folglich (aus Effizienzgründen) compiliert vorliegt. Das Einbauen von Script-Code in dieses API erforderte Decompilierung und Neucompilierung mit dem eingebauten Script-Code. Aha :-) |
|
Es gibt in einigen UAs die Möglichkeit Script-Code quasi nachzuladen, indem man entsprechende script-Elemente (mit DOM-Methoden) in den Dokumentbaum einfügt. Dieser Ansatz ist jedoch nirgendwo spezifiziert und daher nicht interoperabel. Hier nur der Vollständigkeit halber der Code: http://PointedEars.de/scripts/dhtml.js>, loadScript(). Ist jetzt ein bisschen viel, (bin Wochendend-Arbeiter), trotzdem Danke. |
Sinnvoll ist neben eval() noch [...] JSON: arse(), wenn es lediglichum JSON-Daten geht. Was ist jetzt wieder JSON::function()? Ein Paket namens JSON? |
#8
| |||
| |||
|
|
wie meinst du das? |
#9
| |||
| |||
|
|
Ralf Beutler <spamme (AT) brain4 (DOT) de> wrote: wie meinst du das? So wie ich es geschrieben hatte. Aktuell war genau eine Funktion, die er nicht ausgeführt hat: window.open(). Scheint das "Sicherheizkonzept" von FF zu sein. |
#10
| |||
| |||
|
|
WFM in Firefox 2.0.0.11 mit nachträglichem Hinzufügen eines script-Elements. |
![]() |
| Thread Tools | |
| Display Modes | |
| |