我在窗口中有一個WPF System.Windows.Controls.WebBrowser控件。用戶可以輸入信息並在Web瀏覽器顯示的網頁中點擊提交按鈕。頁面回發後,它使用腳本對象與我的應用程序進行通信。我需要確保一旦提交按鈕被按下,表單不會關閉或以其他方式停止等待網頁回傳。如果我可以通過諸如「IsLoading」之類的屬性檢查WebBrowser或其文檔的狀態並且在加載時取消任何操作,那將是非常好的。我沒有看到類似的東西,所以我想在Navigating事件上設置一個標誌,並在Navigated或LoadCompleted事件中取消設置它,但是有一種情況是我單擊網頁上的一個鏈接(綁定到javascript,它不會進入新頁面)導航觸發,但導航和LoadCompleted從不觸發。有沒有辦法根據需要確定瀏覽器的狀態?確定WPF WebBrowser是否正在加載頁面
1
A
回答
0
不,看起來沒有辦法按需查詢WPF瀏覽器的狀態。我解決了我在Navigating事件處理程序中設置自己的標誌並將其置於Navigated事件處理程序中的原始想法。這對我來說並不可靠,因爲有一個腳本取消了導航(javascript:void(0))。
3
根據MSDN如果導航事件被調用,那麼導航事件也將被解僱,除非您明確指定Cancel導航。我嘗試了下面的代碼片段,它似乎工作正常。 (即)導航事件後導航事件被觸發時。
void Window1_Loaded(object sender, RoutedEventArgs e)
{
browser = new WebBrowser();
browser.Navigate(new Uri("http://www.google.com"));
browser.Navigating += new NavigatingCancelEventHandler(browser_Navigating);
browser.Navigated += new NavigatedEventHandler(browser_Navigated);
}
void browser_Navigating(object sender, NavigatingCancelEventArgs e)
{
Console.WriteLine("Loading Webpage !!");
}
void browser_Navigated(object sender, NavigationEventArgs e)
{
Console.WriteLine("Webpage Loaded !!");
}
如果這不是你在找什麼,然後提供你所面臨的問題的網頁的URL。
相關問題
- 1. 如何阻止WPF WebBrowser加載頁面?
- 2. UIWebView,確定頁面是否已加載
- 3. 如何確保WPF WebBrowser加載在tabcontrol
- 4. C#WebBrowser未加載頁面
- 5. WebBrowser頁面加載循環
- 6. Delphi:如何檢查webbrowser是否已成功加載頁面?
- 7. 如何知道WebBrowser是否已完成加載頁面?
- 8. 確定是否滾動到WebBrowser控件的頁面底部
- 9. 確定用戶是否正在重新加載當前頁面onunload
- 10. 如何檢查WebView是否正在加載特定頁面?
- 11. WebBrowser未加載我的頁面
- 12. WebBrowser控件頁面加載錯誤
- 13. 如何確定何時頁面完全加載在csharp的webbrowser控件中?
- 14. 加載頁面到webBrowser並抓取HTML
- 15. C#使WebBrowser等到頁面加載
- 16. 等到WebBrowser控件的頁面加載
- 17. 將ProgressBar分配給WebBrowser頁面加載
- 18. 檢測WebBrowser完整頁面加載
- 19. 檢測是否正在加載新頁面
- 20. 正在加載.aspx頁面
- 21. 頁面無法正確加載Firefox
- 22. MVC中的頁面加載不正確
- 23. XMLHttpRequest未正確加載頁面
- 24. Cordova正確加載外部頁面
- 25. 頁面未正確加載硒
- 26. 同一個網頁總是加載webBrowser
- 27. 如何確定Facebook是否正在瀏覽我的頁面?
- 28. 確定整頁或更新面板是否正在刷新?
- 29. 如何確定HTML控件是否正在頁面中顯示?
- 30. 如何檢測瀏覽器是否正在加載新頁面
謝謝Karthik。不幸的是頁面不公開,如果你只是在瀏覽器中訪問它,它不會工作。這是爲了插入我的應用程序。我確實發現,當鏈接包含href =「javascript:void(0)」時,它不會觸發導航(顯然取消導航)。我將其更改爲href =「#」,現在它同時觸發。我也發現,如果我加入返回false;到鏈接的onclick事件,Web瀏覽器不會觸發任何事件。如果您將更新您的答案以專門解決問題,我會將其標記爲答案。這些事件應該可以工作,但不會根據需要查詢狀態。 – xr280xr