문제

i need to execute some javascript functions from delphi code, but this functions fails if the page is not loaded in the Twebbrowser control. so the problem is if page is located in a tabshet wich is not active the page is not loaded until the tabsheet is become active.

the question is How to force load a page in a Twebbrowser control when this is not visible.

to test this behaviour just put a pagecontrol, with 2 tabsheets , and a twebbrowser in the second tabsheet, now in the oncreate event of the form put this code

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

now when you run the app the page only loads when you makes the second tabsheet visible.

thanks in advance.

도움이 되었습니까?

해결책

Call WebBrowser1.HandleNeeded; before you call WebBrowser1.Navigate

다른 팁

I cannot reproduce the behavior you document. I have followed your instructions one page control, two tabs, webbrowser on second (invisible) tab.

To know if the page is loading, I have capture some events of the webbrowser. I see that onBeforeNavigate, onTitleChange and OnNavigateComplete all get fired without having to make second tabsheet visible.

Setting your javascript code to execute under one of those events may solve your problem.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top