comment puis-je régler le délai pour l'événement navigate WebBrowser (url)Comment régler le délai pour l'événement navigate WebBrowser
C# NETFramework 4.0
comment puis-je régler le délai pour l'événement navigate WebBrowser (url)Comment régler le délai pour l'événement navigate WebBrowser
C# NETFramework 4.0
En utilisant une minuterie bien sûr. Par exemple:
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..
}
}
J'utilise l'approche suivante basée sur Navigating
et Navigated
événements. Le temps entre ces deux événements est observé pour la redirection vers la page d'accueil.
//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);
}
Référence
Ainsi, 'br.Stop()' est-ce que le contrôle du navigateur Web arrête d'essayer de naviguer? – crush
Ne serait-ce que d'attendre la WebBrowser réellement navigation complète avant d'annuler, plutôt que de mettre fin après une certaine quantité de temps? –
Erm, non. Il n'y a rien à finir. Il suffit de naviguer ailleurs. –
alors quand la minuterie cochée je vais naviguer ailleurs? – MonsterMMORPG