HighDots Forums  

Dynamisch Javascript mit Ajax nachladen

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Dynamisch Javascript mit Ajax nachladen in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Konni Scheller
 
Posts: n/a

Default Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 04:11 AM






Hallo,

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?

Servus,
Konni

--
Inzwischen ohne Signatur

Reply With Quote
  #2  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 05:18 AM






Konni Scheller wrote:
Quote:
ist es möglich, vom Server dynamisch Javascriptcode nachzuladen, diesen
in ein bestehendes DOM einzubauen und danach auch auszuführen?
Scriptcode kann man definitiv nicht in das DOM einbauen, das liegt schon
compiliert vor.

Quote:
Diesbezügliche Experimente schlugen fehl; vielleicht habe ich etwas
übersehen?
Denkbar. -v bitte.


PointedEars
--
Nein. Bei zwei nebeneinander angeordneten Bildschirmen ist der rechte
Rand des linken Bildschirms die Mitte des Desktops. Der rechte Rand des
Desktops ist der rechte Rand des rechten Bildschirms, und da geht es
nicht mehr weiter. (Lars Trebing in darw <3E1C9AC9.6233C9CA (AT) ltrebing (DOT) de>)


Reply With Quote
  #3  
Old   
Konni Scheller
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 05:26 AM



Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> wrote:

Quote:
Scriptcode kann man definitiv nicht in das DOM einbauen, das liegt schon
compiliert vor.
Interessant, das wusste ich nicht.

Quote:
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.

Falls sich das -v auf den Grund bezieht, wofür ich das brauche:

Das OxCMS hat mittlerweile ein relativ fertiges Datenmodell. Module,
z.B. "content", "footer", "header", "navigation" sind selbst dafür
verantwortlich, welchen code sie rendern. Gelöst wird das über einen
"Renderer", der ggf. HTML, XHTML oder eben etwas anderes rendert.
So gibt es auch einen Preview-Renderer, der Bedienelemente mitliefert.
Bisher war das bei Version 2 so, dass alles normal per HTTP lief und
immer komplette Seiten ausgeliefert wurden.

Wenn ich mit Ajax arbeite, macht das öftere Serverkommunikation nötig.
Unter anderem müssen jetzt die Module die zu ihrer Bedienung notwendigen
HTML- und Javascriptbrocken selbständig ausliefern können, mit anderen
worten: Javascriptcode muss dynamisch nachgeladen werden.

Servus,
Konni



--
Inzwischen ohne Signatur


Reply With Quote
  #4  
Old   
Ralf Beutler
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 06:08 AM



Konni Scheller schrieb:
Quote:
ist es möglich, vom Server dynamisch Javascriptcode nachzuladen, diesen
in ein bestehendes DOM einzubauen und danach auch auszuführen?
wie meinst du das?
Du kannst ein script-Element in das DOM einfügen und über das
src-Attribut setzen. Dann wird der Code nachgeladen und du kannst
Funktionen dort aufrufen.

Ich benutze einen Parser für nachgeladenes HTML, der die entsprechenden
Event-Handler erkennt und sie auf den Elementen setzt, so dass
Funktionen aufgerufen werden können.

br | rb
--
Sie freuten sich riesig, wenn eine Maschine nach sechs Stunden etwas
fertig brachte, wozu jeder Mensch auf der Straße für 2 Cent fähig
gewesen wäre. Anschließend ließen sie sich Bananen- und Sushi-Pizza
kommen und schliefen vor der Tastatur ein. [aus T.P., Heiße Hüpfer]


Reply With Quote
  #5  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 06:30 AM



Konni Scheller wrote:
Quote:
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.
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, was recht wenig mit dem DOM zu tun hat:

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 es
lediglich um JSON-Daten geht.


HTH

PointedEars
--
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee


Reply With Quote
  #6  
Old   
Konni Scheller
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 10:57 AM



Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> wrote:

Quote:
Offensichtlich hast Du eine falsches Verständnis vom DOM.
Hab auch nicht behauptet, dass ich das verstanden hätte :-)

Quote:
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 :-)

Quote:
Du möchtest hingegen wahrscheinlich (externen) Script-Code nachträglich
verfügbar machen,
Richtig.

Quote:
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.

Quote:
Sinnvoll ist neben eval() noch

(new Function(code)).call(this);

(wobei diese semantisch nicht identisch sind) bzw. JSON:arse(), wenn es
lediglich um JSON-Daten geht.
Was ist jetzt wieder JSON::function()? Ein Paket namens JSON?

Servus,
Konni

--
Inzwischen ohne Signatur


Reply With Quote
  #7  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-03-2008 , 11:10 AM



Konni Scheller wrote:
Quote:
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 :-)
Deiner Antwort entnehme ich, dass Du mich nicht verstanden hast. API:
Application Programming Interface. Zu deutsch: Programmierschnittstelle.

Quote:
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.
Gern geschehen. Die paar Zeilen Methodencode wirst Du sicher schaffen.

Quote:
Sinnvoll ist neben eval() noch [...] JSON:arse(), wenn es lediglich
um JSON-Daten geht.

Was ist jetzt wieder JSON::function()? Ein Paket namens JSON?
Gewissermassen. Google ist Dein Freund. [psf 6.1]

http://json.org/json-de.html
http://de.wikipedia.org/wiki/JSON


PointedEars
--
ich benutze den Befehl BOQuery, um Daten aus meiner Datenbank zu lesen.
Dieser funktioniert im IE 6 auch meistens. Aber auf manchen Rechnern bei
uns in der Firma funktioniert er nicht. [...] Was muß ich installieren?
(Reiner Wahnsiedler in dcljs <ardkdn$d0q$07$1 (AT) news (DOT) t-online.com>)


Reply With Quote
  #8  
Old   
Konni Scheller
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-05-2008 , 03:15 AM



Ralf Beutler <spamme (AT) brain4 (DOT) de> wrote:

Quote:
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.

Servus,
Konni

--
Inzwischen ohne Signatur


Reply With Quote
  #9  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-05-2008 , 12:31 PM



Konni Scheller wrote:
Quote:
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.
WFM in Firefox 2.0.0.11 mit nachträglichem Hinzufügen eines script-Elements.


PointedEars
--
Die Bereitschaft fühlender Wesen, Deinen Code näher anzuschauen, liegt
wohl selbst auf logarithmischen Skalen unter Null (das geht genau dann,
wenn der Leidensdruck dieser Wesen beim Anschauen größer wird als die
mathematische Notwendigkeit für Werte größer Null). -- Dietmar Meier


Reply With Quote
  #10  
Old   
Konni Scheller
 
Posts: n/a

Default Re: Dynamisch Javascript mit Ajax nachladen - 02-05-2008 , 02:14 PM



Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> wrote:

Quote:
WFM in Firefox 2.0.0.11 mit nachträglichem Hinzufügen eines script-Elements.
<self-lart>Popup blocker war an...</self-lart>

Gnagnagna...

Konni,
der mit der abgenagten Tischkante.

P.S. nachdem *der* Punkt (peinlicherweise) überwunden ist, funktioniert
die Sache recht gut: Im Vorschaufenster des CMS ein Bedienelement "Modul
bearbeiten", und beim Bearbeiten poppt das kleine Schwebefenster auf,
man kann ein Quellfile auf dem Server auswählen, dabei im
Verzeichnisbaum navigieren, und beim Confirm wird dann der Inhalt des
Moduls neu dargestellt. Gleichzeitig im Hintergrund die Datenbasis
aktualisiert. Macht Spaß.

--
Inzwischen ohne Signatur


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.