Comment forcer le chargement d'une page dans le contrôle TWebBrowser lorsque ce n'est pas visible

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

  •  10-10-2019
  •  | 
  •  

Question

i besoin d'exécuter certaines fonctions javascript de delphi code, mais cette fonction échoue si la page n'est pas chargé dans le contrôle TWebBrowser. Le problème est que si la page se trouve dans une tabshet Wich est inactive la page n'est pas chargé jusqu'à ce que le tabsheet est devenu actif.

la question est de savoir comment forcer charger une page dans un contrôle Twebbrowser lorsque ce n'est pas visible.

pour tester ce comportement vient de mettre un PageControl, avec 2 tabsheets et un TWebBrowser dans la deuxième tabsheet, maintenant en cas oncreate du formulaire mis ce code

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

lorsque vous exécutez l'application la page charge uniquement lorsque vous rend la seconde tabsheet visible.

Merci d'avance.

Était-ce utile?

La solution

Appel WebBrowser1.HandleNeeded; avant d'appeler WebBrowser1.Navigate

Autres conseils

Je ne peux pas reproduire le comportement que vous document. J'ai suivi vos instructions un contrôle de page, deux onglets, webbrowser sur le deuxième onglet (invisible).

Pour savoir si la page est en cours de chargement, je capturer des événements du navigateur Web. Je vois que onBeforeNavigate, onTitleChange et OnNavigateComplete tous Tracez votre feu sans avoir à faire tabsheet secondes visible.

Configuration de votre code javascript pour exécuter sous un de ces événements peut résoudre votre problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top