làm thế nào tôi có thể thiết lập thời gian chờ cho WebBrowser điều hướng (url) sự kiệnLàm thế nào để thiết lập thời gian chờ cho WebBrowser điều hướng sự kiện
C# netframework 4.0
làm thế nào tôi có thể thiết lập thời gian chờ cho WebBrowser điều hướng (url) sự kiệnLàm thế nào để thiết lập thời gian chờ cho WebBrowser điều hướng sự kiện
C# netframework 4.0
Bằng cách sử dụng một Timer tất nhiên. Ví dụ:
public void NavigateTo(Uri url) {
webBrowser1.Navigate(url);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e) {
timer1.Enabled = false;
MessageBox.Show("Timeout on navigation");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
if (e.Url == webBrowser1.Url && timer1.Enabled) {
timer1.Enabled = false;
// etc..
}
}
Tôi đang sử dụng phương pháp tiếp cận sau dựa trên Navigating
và Navigated
sự kiện. Thời gian giữa hai sự kiện này được quan sát để chuyển hướng đến tảo nhà.
//Navigation Timer
timer2.Enabled = true;
timer2.Interval = 30000;
br.DocumentCompleted += browser_DocumentCompleted;
br.DocumentCompleted += writeToTextBoxEvent;
br.Navigating += OnNavigating;
br.Navigated += OnNavigated;
br.ScriptErrorsSuppressed = true;
br.Navigate(ConfigValues.websiteUrl);
private void OnNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
//Reset Timer
timer2.Stop();
timer2.Start();
WriteLogFunction("OnNavigating||||||"+e.Url.ToString());
}
private void OnNavigated(object sender, WebBrowserNavigatedEventArgs e)
{
//Stop Timer
timer2.Stop();
WriteLogFunction("NAVIGATED <><><><><><><> " + e.Url.ToString());
}
private void timer2_Tick(object sender, EventArgs e)
{
WriteLogFunction(" Navigation Timeout TICK");
br.Stop();
br.Navigate(ConfigValues.websiteUrl);
}
Reference
Vì vậy, 'br.Stop()' gây ra sự kiểm soát trình duyệt web để ngừng tìm cách điều hướng? – crush
Sẽ không phải là chờ cho WebBrowser để thực sự hoàn chỉnh chuyển hướng trước khi hủy, chứ không phải là kết thúc nó sau khi một số tiền nhất định của thời gian? –
Erm, không. Không có gì để kết thúc. Chỉ cần điều hướng đến nơi khác. –
vì vậy khi bộ đếm thời gian được đánh dấu tôi sẽ điều hướng đến một nơi khác? – MonsterMMORPG