Come forzare caricare una pagina nel controllo TWebBrowser quando questo non è visibile

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

  •  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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top