【问题标题】:How to force load a page in Twebbrowser control when this is not visible当页面不可见时如何在 Twebbrowser 控件中强制加载页面
【发布时间】:2010-11-14 20:00:41
【问题描述】:

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

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

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

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

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

提前致谢。

【问题讨论】:

标签: delphi twebbrowser


【解决方案1】:

在拨打WebBrowser1.Navigate之前先拨打WebBrowser1.HandleNeeded;

【讨论】:

  • 在遇到完全相同的问题后发现了这个。效果很好,谢谢。
【解决方案2】:

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

要知道页面是否正在加载,我已经捕获了网络浏览器的一些事件。我看到onBeforeNavigateonTitleChangeOnNavigateComplete 都被解雇了,而不必让第二个标签页可见。

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

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多