Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Welche Möglichkeiten JavaScript im TWebBrowser ausführen=? (https://www.delphipraxis.net/118729-welche-moeglichkeiten-javascript-im-twebbrowser-ausfuehren%3D.html)

Blumi 13. Aug 2008 21:48


Welche Möglichkeiten JavaScript im TWebBrowser ausführen=?
 
Hi zusammen

Ich versuche jetzt seit einigen Tagen JavaScript in einem TWebBrowser auszuführen.
Leider gibt es Internetseiten mit JavaScript Fehler, die kann man ja einfach mit Silent unterdrücken.
Jedoch ist dann das Problem nicht gelöst. Ich habe es bereits mit

Delphi-Quellcode:
WebBrowser1.OleObject.Document.parentWindow.machedas();
Delphi-Quellcode:
  Elem := GetElementById(WebBrowser1.Document, 'machedas()') as IHTMLElement;
  if Assigned(Elem) then begin
    Elem.click;
Delphi-Quellcode:
function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean;
var
  win: IHTMLWindow2;
  Olelanguage: Olevariant;
begin
  if doc <> nil then
  begin
    try
      win := doc.parentWindow;
      if win <> nil then
      begin
        try
          Olelanguage := language;
          win.ExecScript(script, Olelanguage);
        finally
          win := nil;
        end;
      end;
    finally
      doc := nil;
    end;
  end;
end;
versucht.
Aber es kommt jedesmal eine Fehlermeldung wenn Silent False ist mit "undefined ist Null oder kein Objekt"
Und wenn ich Silent True setze kommt eine Meldung von Delphi mit "OLE-Fehler 80020101" ?
Das JavaScript wird aber bei beiden Male nicht ausgeführt!

Was gibt es sonst noch für Ausweichsmöglichkeiten? Oder mache ich etwas falsch, habe ich was vergessen einzubinden?

Würde mich über alle eure weisen Antworten freuen.

Mfg. Blumi :-D :cheers:


Edit: Ich wollte noch dazu anmerken, dass wenn ich den Internet Explorer oder Firefox direkt verwende, ich das Java Script mit Klick ausführen kann. Und mit Delphi funktioniert es wie beschrieben eben noch nicht? Lg

[edit=Sharky]Delphi-Tag korrigiert Mfg, Sharky[/edit]

lbccaleb 13. Aug 2008 23:43

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Und warum nicht einfach mit

Delphi-Quellcode:
webbrowser1.Navigate('Dein JAVA Script');
??

marabu 14. Aug 2008 05:39

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Moin,

zu deinen Laufzeitfehlern kann ich jetzt nichts schreiben, aber wie du JavaScript ausführen kannst wird u.a. in diesem Thread behandelt: ExecuteScript

Grüße vom marabu

Blumi 14. Aug 2008 06:56

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Zitat:

Zitat von lbccaleb
Und warum nicht einfach mit

Delphi-Quellcode:
webbrowser1.Navigate('Dein JAVA Script');
??

Ich möchte es aber auf einer bestehenden Website anwenden..
Ich habe jetzt gerade kein Delphi bei mir, aber Navigate führt ja zu einer leeren Seite..

mkinzler 14. Aug 2008 06:59

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Nein .Navigate() lädt die Seite mit der angegebenen Url

Blumi 16. Aug 2008 14:07

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Zitat:

Zitat von mkinzler
Nein .Navigate() lädt die Seite mit der angegebenen Url

? Mein ich ja?..

Aber wenn ich
Delphi-Quellcode:
WebBrowser1.Navigate('javascript:machedas();');
aufrufe führt er das JavaScript auch nicht aus!

Mfg

Fussball-Robby 16. Aug 2008 14:29

Re: Welche Möglichkeiten JavaScript im TWebBrowser ausführen
 
Dann gehst du erst auf die Seite und führt den JavaScript dann aus..
Delphi-Quellcode:
WB1.Navigate('www.MeineSeite.de');
WB1.Navigate('javascript:MacheDiesUndMacheDas');


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz