7

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

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

要测试此行为,只需在第二个选项卡中放置一个带有 2 个选项卡的页面控件和一个 twebbrowser,现在在表单的 oncreate 事件中放置此代码

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

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

提前致谢。

4

2 回答 2

13

先打电话WebBrowser1.HandleNeeded;再打电话WebBrowser1.Navigate

于 2010-11-14T21:01:03.500 回答
0

我无法重现您记录的行为。我已按照您的说明进行一页控件​​、两个选项卡、第二个(不可见)选项卡上的网络浏览器。

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

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

于 2010-11-14T20:26:59.167 回答