simlei - Di 14.04.09 23:28
Titel: TWebBrowser javascript Aufruf funktioniert nicht richtig...
Hallo,
Ich habe ein sehr merkwürdiges Problem... ich habe einen TWebBrowser, welcher auf eine URL navigiert wird, und dort einige Zeilen Javascript ausführen soll... Mein Anlauf hierzu:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure script(S: string); var Doc: IHTMLDocument2; HTMLWindow: IHTMLWindow2; JSFn: string; begin Doc := Form1.WebBrowser1.Document as IHTMLDocument2; if not Assigned(Doc) then Exit; HTMLWindow := Doc.parentWindow; if not Assigned(HTMLWindow) then begin Exit; ShowMessage('not assigned'); end; try JSFn := S; HTMLWindow.execScript(JSFn, 'JavaScript'); except end; end; |
Es funktioniert ohne weiteres, z. B. eine alert() textbox aufzurufen. Was nicht funktioniert, ist, auf andere Funktionen, wie auf alle document-Eigenschaften (z.B. document.getElementbyID("abc");) oder auch ganz einfach colorBG u.ä. zuzugreifen. Jedesmal meldet der TWebBrowser (a.k.a. IE) "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."
ich habe es auch mit "window.document.[...]" versucht - dasselbe.... Was mir ebenfalls aufgefallen ist: Wenn ich im IE in die adresszeile "Javascript: alert(document.getElementByID("q").value);" eingebe, kommt dasselbe Ergebnis. Führe ich Javascript jedoch "normal" aus, d. h. aus eienr HTML-Seite heraus, so funktioniert es -__-
Ich habe absolut keine Idee mehr. Ihr vielleicht? Danke schonmal!