2015-06-16 38 views
0

我正在使用delphi的TWebbrowser導航到我創建的一個php文件。 我有一個加載屏幕,我想顯示何時加載頁面或處理命令。查看Delphi Twebbrowser何時開始加載頁面

如何檢測何時正在刷新或仍在加載。

當前我正在使用ondocumentcomplete關閉加載表單並在加載完成後重新啓用主窗體。

我試過onbeforenavigate2來顯示加載屏幕並禁用主窗體。但是在完成加載之後,文檔完成後,navigate2進程再次運行。該表單再次被禁用。

有什麼辦法檢測瀏覽器何時加載頁面?

+0

你正在使用什麼版本的Delphi? – Zam

+3

您需要考慮事件被多次觸發(例如,每幀觸發OnbeforeNavigate和OnDocumentComplete)。 – whosrdaddy

回答

0

您正在搜索的事件是OnDownloadBegin和OnDownloadComplete。

OnDownloadBegin在文檔開始下載之前觸發,因此是啓動一些加載動畫的最佳事件。文檔後

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

OnDownloadComplete火災已下載並即使文檔的下載由於某種原因失敗。所以最好甚至可以停止一些加載動畫。

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

+0

這些命令不是精確執行的......表格在我想要之前會消失...但它會做謝謝:)。 – Marcel

+0

然後,您可能更喜歡使用OnProgressChange事件,但它可能會非常棘手,因爲進度狀態嚴重依賴於託管該站點的服務器。 – SilverWarior

+1

嘗試['this technique'](http://stackoverflow.com/a/10105697/960757)確定是否爲主文檔觸發了該事件。 – TLama

相關問題