Webbrowser : impossible d'obtenir l'url correcte

Signaler
Messages postés
6
Date d'inscription
jeudi 5 septembre 2013
Statut
Membre
Dernière intervention
8 mars 2015
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour

Je rencontre un problème dans l'utilisation du Webbrowser sur le site musicme.com :
la valeur de l'url, récupérée par MyWebbrowser.url.ToString, n'est pas rafraîchie lorsqu'on navigue sur une autre page du site.
Ce qui fait qu'on se retrouve toujours avec la même url (ce n'est pas la vraie url de la page: parfois ww.musicme.com/, parfois ww.musicme.com/#/nouveautes)
Apparemment ça ne se produit que sur ce site. J'ai tout essayé en vain.

Ce qui est bizarre est que si on fait un clic droit sur la page et qu'on regarde l'url (retournée par ie), là c'est la bonne url. Mais malheureusement on ne peut pas la lire par le code (en tout cas je ne vois pas comment faire).

Ma question, avez-vous déjà rencontré ce problème, connaissez vous une autre possibilité de lire l'url de la page affichée (api ou autre) ?

Merci d'avance pour vos réponses

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
On ne voit pas à quel moment/évènement tu exécutes le rafraîchissement par MyWebbrowser.url.ToString.
Messages postés
6
Date d'inscription
jeudi 5 septembre 2013
Statut
Membre
Dernière intervention
8 mars 2015

Après que la nouvelle page soit bien chargée, par exemple,
-en exécutant l'instruction msgbox(MyWebbrowser.url.ToString) via un bouton.
-ou dans le WebBrowser_DocumentCompleted
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Crois-tu vraiment que tu as répondu à ma question ?
Je ne le crois pas.

Quant à l'utilisation de msgbox : elle affiche l'adresse (et rien d'autre).
Messages postés
6
Date d'inscription
jeudi 5 septembre 2013
Statut
Membre
Dernière intervention
8 mars 2015

Désolé si je n'ai pas été assez clair:
-dans un webbrowser on peut récupérer l'url de la page courante, pour l'afficher dans la barre d'adresse. Cela se fait obligatoirement par Webbrowser.url (ou encore par WebBrowser.Document.Url)

(si tu connais d'autres moyens, ça m'interesse fortement !)

Peut importe qu'on la lise avec un msgbox, dans la barre d'adresse, ou autrement, ce n'est pas la question. La lecture se fait bien une fois la page chargée.

Or cette propriété n'est pas alimentée correctement sur le site que j'ai indiqué, elle l'est sur tous les autres sites.
Messages postés
6
Date d'inscription
jeudi 5 septembre 2013
Statut
Membre
Dernière intervention
8 mars 2015

Pour être encore plus clair (et pour répondre très précisément à la question de ocfoutu), le rafraîchissement par MyWebbrowser.url est fait dans l'évenement DocumentCompleted du Webbrowser.

Je ne vois pas quoi ajouter de plus.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Je suppose que tu as lu ceci, dans ton aide (MSDN) :
https://msdn.microsoft.com/fr-fr/library/system.windows.forms.webbrowser.documentcompleted%28v=vs.110%29.aspx
Et tu en as tiré quelle conclusion ?
- ne me dis pas que tu y lis que cet évènement surgit lorsque tu ouvres une autre page.
Messages postés
6
Date d'inscription
jeudi 5 septembre 2013
Statut
Membre
Dernière intervention
8 mars 2015

Je crois qu'on ne se comprend pas. Je ne dis pas que DocumentCompleted se produit lorsqu'on ouvre une autre page (?)
Le problème est que la valeur de MyWebbrowser.url n'est jamais rafraîchie sur ce site, alors qu'elle devrait l'être.
La preuve : elle est bien rafraichie sur tous les autres sites.

Merci quand même pour ton aide.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Je crois en effet que nous ne nous comprenons pas bien.
Relis mon premier message. Un tel rafraîchissement ne saurait être spontané, mais constaté par MyWebbrowser.url.ToString à la suite d'un évènement (survenant lors d'un changement de page).
Et (mon 3ème message), cet évènement n'est pas l'évènement DocumentCompleted