Einzelnen Beitrag anzeigen

simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#1

TWebBrowser javascriptaufruf funktioniert nicht richtig..

  Alt 14. Apr 2009, 23:30
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-Quellcode:
procedure script(S: string);
  { Calls JavaScript Foo() function }
var
  Doc: IHTMLDocument2; // current HTML document
  HTMLWindow: IHTMLWindow2; // parent window of current HTML document
  JSFn: string; // stores JavaScipt function call
begin
  // Get reference to current document
  Doc := Form1.WebBrowser1.Document as IHTMLDocument2;
  if not Assigned(Doc) then
    Exit;
  // Get parent window of current document
  HTMLWindow := Doc.parentWindow;
  if not Assigned(HTMLWindow) then begin
    Exit; ShowMessage('not assigned'); end;
  // Run JavaScript
  try
    JSFn := S; // build function call
    HTMLWindow.execScript(JSFn, 'JavaScript'); // execute function
  except
    // handle exception in case JavaScript fails to run
  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!
  Mit Zitat antworten Zitat