Thema: Delphi ExecuteScript

Einzelnen Beitrag anzeigen

API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#11

Re: ExecuteScript

  Alt 10. Feb 2008, 18:21
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;
  Mit Zitat antworten Zitat