我需要从Delphi代码执行一些JavaScript函数,但是如果页面未加载在TwebBrowser控件中,则此功能会失败。因此,问题是,如果页面位于标签中,则没有活动,直到TabSheet变得活跃之前,页面才不会加载。

问题是如何强制加载页面 Twebbrowser 控制何时看不见。

要测试此行为,只需将PageControl放置,带有2个TabSheets和第二个Tabsheet中的Twebbrowser,现在在表单的on Create事件中放置此代码

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

现在,当您运行应用程序时,只有在可见第二个选项卡时才加载页面。

提前致谢。

有帮助吗?

解决方案

称呼 WebBrowser1.HandleNeeded; 在打电话之前 WebBrowser1.Navigate

其他提示

我无法复制您记录的行为。我遵循您的说明,一个页面控件,两个选项卡,第二个(无形)选项卡上的WebBrowser。

要知道该页面是否正在加载,我已经捕获了WebBrowser的一些事件。我看到 onBeforeNavigate, onTitleChangeOnNavigateComplete 所有人都不必使第二个TabSheet可见。

将您的JavaScript代码设置为在其中一项事件下执行,可以解决您的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top