当不可见时,如何强制在twebbrowser控制中加载页面
-
10-10-2019 - |
题
我需要从Delphi代码执行一些JavaScript函数,但是如果页面未加载在TwebBrowser控件中,则此功能会失败。因此,问题是,如果页面位于标签中,则没有活动,直到TabSheet变得活跃之前,页面才不会加载。
问题是如何强制加载页面 Twebbrowser
控制何时看不见。
要测试此行为,只需将PageControl放置,带有2个TabSheets和第二个Tabsheet中的Twebbrowser,现在在表单的on Create事件中放置此代码
WebBrowser1.Navigate('http://stackoverflow.com');
现在,当您运行应用程序时,只有在可见第二个选项卡时才加载页面。
提前致谢。
解决方案
称呼 WebBrowser1.HandleNeeded;
在打电话之前 WebBrowser1.Navigate
其他提示
我无法复制您记录的行为。我遵循您的说明,一个页面控件,两个选项卡,第二个(无形)选项卡上的WebBrowser。
要知道该页面是否正在加载,我已经捕获了WebBrowser的一些事件。我看到 onBeforeNavigate
, onTitleChange
和 OnNavigateComplete
所有人都不必使第二个TabSheet可见。
将您的JavaScript代码设置为在其中一项事件下执行,可以解决您的问题。
不隶属于 StackOverflow