我需要从delphi代码执行一些javascript函数,但如果页面没有加载到Twebbrowser控件中,则此函数会失败。所以问题是如果页面位于一个未激活的标签中,则在标签页变为活动状态之前不会加载页面。
问题是当不可见时,如何在Twebbrowser
控件中强制加载页面。
测试这个行为只是在第二个标签页中放置了一个带有2个标签页的pagecontrol和一个twebbrowser,现在在表单的oncreate事件中放入了这段代码
WebBrowser1.Navigate('http://stackoverflow.com');
现在,当您运行应用程序时,只有在您显示第二个标签页时才会加载页面。
提前感谢。
答案 0 :(得分:12)
在致电WebBrowser1.HandleNeeded;
WebBrowser1.Navigate
答案 1 :(得分:0)
我无法重现您记录的行为。我已按照您的说明在第二个(不可见)选项卡上显示一个页面控件,两个选项卡,webbrowser。
要知道页面是否正在加载,我已经捕获了一些webbrowser的事件。我看到onBeforeNavigate
,onTitleChange
和OnNavigateComplete
都被解雇,而无需显示第二个标签页。
将您的javascript代码设置为在其中一个事件下执行可能会解决您的问题。