如何在不可见时强制加载Twebbrowser控件中的页面

时间:2010-11-14 20:00:42

标签: delphi twebbrowser

我需要从delphi代码执行一些javascript函数,但如果页面没有加载到Twebbrowser控件中,则此函数会失败。所以问题是如果页面位于一个未激活的标签中,则在标签页变为活动状态之前不会加载页面。

问题是当不可见时,如何在Twebbrowser控件中强制加载页面。

测试这个行为只是在第二个标签页中放置了一个带有2个标签页的pagecontrol和一个twebbrowser,现在在表单的oncreate事件中放入了这段代码

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

现在,当您运行应用程序时,只有在您显示第二个标签页时才会加载页面。

提前感谢。

2 个答案:

答案 0 :(得分:12)

在致电WebBrowser1.HandleNeeded;

之前致电WebBrowser1.Navigate

答案 1 :(得分:0)

我无法重现您记录的行为。我已按照您的说明在第二个(不可见)选项卡上显示一个页面控件,两个选项卡,webbrowser。

要知道页面是否正在加载,我已经捕获了一些webbrowser的事件。我看到onBeforeNavigateonTitleChangeOnNavigateComplete都被解雇,而无需显示第二个标签页。

将您的javascript代码设置为在其中一个事件下执行可能会解决您的问题。