Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ExecuteScript (https://www.delphipraxis.net/101435-executescript.html)

API 10. Feb 2008 17:21

Re: ExecuteScript
 
Zitat:

Zitat von marabu
Ganz klar: Bevor die JS-Funktion nicht in das Document Object Model eingebaut worden ist, kannst du auf sie nicht zugreifen - das ergibt sich bereits aus meinem Beispiel-Code. Nur mit dem Event OnDocumentComplete bist du auf der sicheren Seite, da auch die JS-Funktion auf DOM-Elemente zugreifen könnte, die ja erst vom Parser analysiert sein müssen. Ob ich schon vor dem OnDocumentComplete auf Teile des DOM zugreifen kann, habe ich nie ausprobiert, aber ich vermute, dass WebBrowser.Document erst aktualisiert wird, wenn das neue DOM vollständig aufgebaut ist.

Eine Beschleunigung könnte ich mir vorstellen, wenn der Browser viele Bilder o.ä. nachlädt: Du könntest ihn anweisen das zu unterlassen.

Was sind denn die Eckdaten wie Seitengröße, Übergangszeiten zwischen den ReadyStates, ... ?
Geht es um eine ganz spezielle Seite oder suchst du nach einer allgemeinen Lösung?

Ja, es handelt sich um eine spezifische Webseite.
Es werden nicht viele Bilder geladen.


Ich mache es jetzt so. Im OnProgress Ereignis wird überprüft, ob das Script IDispatch
verfügbar ist und dann wird die Funktion aufgerufen.

Die Funktion wird nun ausgeführt, bevor die Webseite vollständig geladen wurde.


Delphi-Quellcode:
if Assigned(Document) then
    if Assigned(Document.Script) then
    begin
      ... JF-Funktion ausführen
    end;

marabu 10. Feb 2008 17:35

Re: ExecuteScript
 
Double Check on this, please:

Zitat:

Zitat von marabu
... aber ich vermute, dass WebBrowser.Document erst aktualisiert wird, wenn das neue DOM vollständig aufgebaut ist. ...


API 10. Feb 2008 18:12

Re: ExecuteScript
 
Zitat:

Zitat von marabu
Double Check on this, please:

Zitat:

Zitat von marabu
... aber ich vermute, dass WebBrowser.Document erst aktualisiert wird, wenn das neue DOM vollständig aufgebaut ist. ...


WebBrowser.Document ist schon vor dem vollständigen Aufbau des DOMs verfügbar.
IM IE kann man ja auch den (partiellen) Quelltext ansehen, bevor die Seite vollständig geladen ist. Im Webbrowser kann man auch auf den (partiellen) Quelltext zugreifen vor DocumentComplete.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.
Seite 2 von 2     12   

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