Come forzare caricare una pagina nel controllo TWebBrowser quando questo non è visibile
-
10-10-2019 - |
Domanda
ho bisogno di eseguire alcune funzioni javascript da Delphi codice, ma questa funzione non riesce se la pagina non viene caricata nel controllo TWebBrowser. quindi il problema è che se la pagina si trova in una tabshet goduto non è attiva la pagina non viene caricato finché la tabsheet è diventato attivo.
Il problema è come forzare caricare una pagina in un controllo Twebbrowser
quando questo non è visibile.
Per testare questo comportamento appena messo un PageControl, con 2 tabsheets, e un TWebBrowser nel secondo tabsheet, ora in caso OnCreate del modulo si inserisce questo codice
WebBrowser1.Navigate('http://stackoverflow.com');
Ora, quando si esegue l'applicazione nella pagina solo carichi quando si fa la seconda tabsheet visibile.
grazie in anticipo.
Soluzione
chiamata WebBrowser1.HandleNeeded;
prima di chiamare WebBrowser1.Navigate
Altri suggerimenti
Non è possibile riprodurre il comportamento di documentare. Ho seguito le sue istruzioni un controllo pagina, due schede, browser web sulla scheda secondo (invisibile).
Per sapere se la pagina è carico, ho catturare alcuni eventi del browser web. Vedo che onBeforeNavigate
, onTitleChange
e OnNavigateComplete
tutti licenziato senza dover fare secondo tabsheet visibile.
Impostazione del codice JavaScript da eseguire sotto uno di quegli eventi possono risolvere il tuo problema.