【问题标题】:See when Delphi Twebbrowser starts loading a page查看 Delphi Twebbrowser 何时开始加载页面
【发布时间】:2015-06-16 09:08:10
【问题描述】:

我正在使用 delphi 的 TWebbrowser 导航到我创建的 php 文件。 我有一个加载屏幕,我想在页面加载或处理命令时显示。

如何检测它何时刷新或仍在加载。

目前我正在使用ondocumentcomplete 关闭加载表单并在加载完成后重新启用主表单。

我已经尝试使用onbeforenavigate2 来显示加载屏幕并禁用主窗体。但是在它完成加载并且文档完成之后,navigation2 进程会再次运行。表单再次被禁用。

有什么方法可以检测浏览器何时加载页面?

【问题讨论】:

  • 你使用的是什么版本的Delphi?
  • 您需要考虑到事件会被多次触发(例如,每一帧都会触发 OnbeforeNavigate 和 OnDocumentComplete)。

标签: delphi twebbrowser


【解决方案1】:

您要搜索的事件是 OnDownloadBegin 和 OnDownloadComplete。

OnDownloadBegin 在文档开始下载之前触发,因此是开始某些加载动画的最佳事件。

http://docwiki.embarcadero.com/Libraries/XE8/en/SHDocVw.TWebBrowser.OnDownloadBegin

OnDownloadComplete 在文档下载后触发,即使文档下载由于某种原因失败。所以最好是停止一些加载动画。

http://docwiki.embarcadero.com/Libraries/XE8/en/SHDocVw.TWebBrowser.OnDownloadComplete

【讨论】:

  • 命令没有被精确地执行......表单在我想要之前消失了一点......但它会谢谢你:)。
  • 那么也许您更愿意使用 OnProgressChange 事件,但这可能会更棘手,因为进度状态在很大程度上取决于托管站点的服务器。
  • 尝试this technique 确定是否为主文档触发了事件。
猜你喜欢
  • 1970-01-01
  • 2011-04-26
  • 2011-07-30
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多