Attendre le chargement d'un webbrowser

TeDeum Messages postés 21 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 8 janvier 2008 - 28 janv. 2003 à 15:48
waincorp Messages postés 5 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 25 mars 2004 - 24 mars 2004 à 11:03
Bonjour à tous,

Je fait une application qui se connecte à un site internet via un WebBrowser. J'ai un problème, je dois attendre la fin du chargement de ma page, mais comme j'ai des Frames dans le site internet en question, je ne sais pas comment attendre la fin du chargement de ma page.

Voici ce que j'ai essyé :
Do
DoEvents
Loop While WebBrowser1.ReadyState=READYSTATE_LOADING
ou
Loop Until Not WebBrowser1.Busy

Mais ces deux solutions ne marche que pour la frame 1 et pas les autres.

Si vous savez comment faire, merci de m'aider.
Merci à tous.

7 réponses

kpfeu Messages postés 9 Date d'inscription mardi 13 août 2002 Statut Membre Dernière intervention 29 janvier 2003
29 janv. 2003 à 10:34
Salut,

j'ai un truc que je me sert pour l'une de mes appli. Je ne sais pas si cela peut te rendre service, mais je t'explique.

Le contrôle WebBrowser a plusieurs évènement dont un qui s'appele ProgressChange. Lorsqu'il y a une page qui se charge, il se déclanche et marche un peu comme un Timer.

Cet évènement à 2 paramètres Progress et ProgressMax. Pour toi ProgressMax est le plus important, lorsque l'évènement se déclanche au chargement d'une page ProgressMax prend une valeur. Lorsque la page est chargé, ProgressMax=0.

Donc pour vérifier qu'une page web est complètement chargé, dans l'évènement ProgressChange, il faut tester que ProgressMax=0, à ce moment là, la page sera complètement chargée.

J'espère que ceci va pouvoir t'aider.

A+ et bonne continuation pour ton prog.
0
fabdi Messages postés 4 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 18 septembre 2003
12 mars 2003 à 20:00
il existe deux methodes interressante
Private Sub WebBrowser1_DownloadBegin()
// ton code
end sub
et
Private Sub WebBrowser1_DownloadComplete()
// ton code
end sub

------------------
Fabdi
0
TeDeum Messages postés 21 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 8 janvier 2008 1
17 mars 2003 à 16:30
Je te remercie pour ton aide, je n'y avais pas encore pensée !

Merci bcp.
0
Net1dsang Messages postés 35 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 11 août 2010
15 avril 2003 à 10:38
ton truc ne marchera pas car sil y a des frames, la progress bar s'exécute pour chaque frame !!
tu peu utiliser l'évenement DocumentComplete :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
captainpep Messages postés 3 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 30 juin 2003
1 juil. 2003 à 14:39
Voilà plusieurs jour que je me prend la lskqjdf sur ce type de problème.
Il est vrai que la méthode documentComplete est forte utile, mais il faut la compléter pour connaître exactement la fin de téléchargement d'une page.
Ma solution : que l'URL renvoyé par cette méthode soit la même que celle du browser web.

Exemple :
private sub webBrowser_documentComplete(byval pdisp as Object, URL as Variant)if URL webbrowser.locationURL then endNavigate true
end sub

Appremment, il fini le téléchargement par l'URL rentrée en dernier.

Pour moi ca marche mais si jamais, c'est une grosse sdlfkj, n'hésitez pas !!

CaptainPeP
0
misterzinzin Messages postés 112 Date d'inscription vendredi 27 octobre 2000 Statut Membre Dernière intervention 26 janvier 2011 2
3 janv. 2004 à 17:54
yessssssss
merci bcp :-p
ca marche nickel le truc de
private sub webBrowser_documentComplete(byval pdisp as Object, URL as Variant)

end sub

moi, le seul, l'unique, ZinZin :blush)
0
waincorp Messages postés 5 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 25 mars 2004
24 mars 2004 à 11:03
Attention !
cette méthode ne fonctionne peut-être pour le ou les sites que tu utilise, mais "URL = .locationURL" est faux pour beaucoup de sites... surtout les pages dynamiques :(

Le mieux que j'ai trouvé pour l'instant, c'est de vérifier si URL est égal à une adresse données, ou contient un morceau d'adresse.

If InStr(1, url, "search_result.html;") > 1 Then m_bResultPageLoaded = True

c'est vraiment pas génial ce contrôle Webbrowser :(
0
Rejoignez-nous