Wie zu zwingen, eine Seite in TWebBrowser Steuerung zu laden, wenn diese nicht sichtbar ist

StackOverflow https://stackoverflow.com/questions/4179377

  •  10-10-2019
  •  | 
  •  

Frage

Ich brauche einige JavaScript-Funktionen von Delphi Code auszuführen, aber das funktioniert nicht, wenn die Seite nicht in der TWebBrowser Steuerung geladen wird. so dass das Problem ist, wenn Seite in einem tabshet befindet Weichen nicht aktiv ist die Seite nicht geladen wird, bis die tabsheet aktiv werden wird.

ist die Frage, wie zu zwingen, eine Seite in einer Twebbrowser Steuerung laden, wenn diese nicht sichtbar ist.

Dieses Verhalten zu testen, nur ein Pagecontrol setzen, mit 2 tabsheets und ein TWebBrowser in dem zweiten tabsheet, jetzt im oncreate-Ereignisse des Formulars setzte diesen Code

WebBrowser1.Navigate('http://stackoverflow.com');

jetzt, wenn Sie die App die Seite lädt nur ausgeführt, wenn Sie macht die zweite tabsheet sichtbar.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Anruf WebBrowser1.HandleNeeded;, bevor Sie anrufen WebBrowser1.Navigate

Andere Tipps

Ich kann nicht das Verhalten reproduzieren Sie dokumentieren. Ich habe Ihre Anweisungen eine Seite Steuerung, zwei Registerkarten, Web-Browser auf dem zweiten (unsichtbar) Registerkarte gefolgt.

Um zu wissen, wenn die Seite geladen ist, habe ich einige Ereignisse des Web-Browser erfassen. Ich sehe, dass onBeforeNavigate, onTitleChange und OnNavigateComplete all get gefeuert ohne zweite tabsheet sichtbar machen zu müssen.

Einstellen des JavaScript-Code in einer dieser Ereignisse ausführen kann Ihr Problem lösen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top