Autor Beitrag
Airtrox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: Fr 25.03.11 16:16 
Hallo,

ich habe eine Frage zur Benutzung von Javascript im EmbeddedWB. Ich lade eine Seite wie google und möchte dort ein Javascript Code ausführen (das ganze kann man mit den Firefox Plugin Firebug auch machen).

Weiß jemand ob/wie das möglich ist?
Thom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 70
Erhaltene Danke: 5


Delphi 10 Seattle Prof.
BeitragVerfasst: Sa 26.03.11 19:10 
Ja, das ist möglich.

Aber es kommt darauf an, was Du machen möchtest. Es gibt nämlich verschiedene Wege.
So ist zum Beispiel die Frage zu klären, ob Du ein Ergebnis zurückgeliefert haben möchtest. Willst Du komplexere Scripte ausführen oder vorrangig auf JavaScript-Objekte zugreifen?

Dieses Thema wurde übrigens ausführlich in der Toolbox 1/2011 behandelt. Die Beispieldateien gibt es dort.


Zuletzt bearbeitet von Thom am So 27.03.11 19:29, insgesamt 1-mal bearbeitet
Airtrox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: So 27.03.11 16:57 
Im Grunde sollen nachdem die Seite geladen wurde, neue JS Funktionen erzeugt werden, die dann auch z.B. andere Funktionen aufrufen aufrufen können und auch Ergebnisse per Alert ausgeben können sollen.
Bsp:
Auf der geladenen Seite gibt es x JS Funktionen, eine davon soll aufgerufen werden und der Rückgabewert per JS Alert an den Nutzer ausgegeben werden.

Gibt es das auch auf der Toolbox-Seite?
Thom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 70
Erhaltene Danke: 5


Delphi 10 Seattle Prof.
BeitragVerfasst: So 27.03.11 20:24 
Aha. Da würde ich wirklich empfehlen, die Quelltexte von der Toolbox-Seite herunterzuladen und sich die Ausgabe 1/2011 zu besorgen. Diese ist zwar nicht mehr im Handel erhältlich, sollte aber noch über den Verlag zu beziehen sein.

Dort wird beschrieben, wie JavaScript-Funktionen aus Delphi heraus aufgerufen werden können, welche Methoden es dafür gibt und welche Vor- und Nachteile die verschiedenen Varianten haben. So wird auch diskutiert, wie Delphi-Methoden aus JavaScript heraus ausgeführt werden können - wie also zum Beispiel ein Label des Delphi-Formulars von JavaScript verändert wird.

Das ist ein sehr komplexes Thema und würde hier einfach den Umfang sprengen. Ich könnte jetzt zwar ein paar Beispiele posten - da Du aber Deine Anfrage recht allgemein gehalten hast, würde ich das auch nur auf gut Glück machen.

Anhand der besagten Beispiele solltest Du eigentlich gut die Verfahrenweise nachvollziehen können. Die Quelltexte wurde zwar für neuere Compiler geschrieben, da in diesen Units an etlichen Stellen von RTTI-Funktionen Gebrauch gemacht wird.

Die relevanten Units wurde aber weiterentwickelt und im Google Maps Framework, das in der Toolbox 2/2011 vorgestellt wurde, so umgestaltet, daß sie jetzt ab Delphi 5 verwendbar sind.

Hast Du kein Interesse, Dich damit zu beschäftigen, könntest Du auch einmal auf delphidabbler.com nachschauen. Wenn Du nur JavaScript-Funktionen aufrufen möchtst, ist das OK - willst Du aber Rückgabewerte, so kann ich die dort vorgestellte Lösung nicht empfehlen.