TWebbrowser - détection de modification de page [Résolu]

Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- - Dernière réponse : cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 5 janv. 2011 à 11:20
Bonjour à tous et bonne année,

Après le foie gras et le champagne une question pour bien chauffer
les neurones en ce début d'année :
J'utilise un TWebbrower que je connecte à un site web.
Jusqu'ici tout va bien...

Je souhaiterai détecter le moindre changement dans la page internet affichée, lors d'un clic sur telle ou telle action.
Précision, l'URL ne change pas et le code source de la page non
plus (pas d'un iota..)

J'ai pas mal cherché et fouillé, mais pour le moment rien de concret...
Vu aussi avec le TEmbeddedWeb..

L'idéal serait de pouvoir se servir d'un événement du composant.
Quelqu'un aurait-il été confronté à cette difficulté ?


cantador
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
2
3
Merci
je ne peux pas t'aider pour le moment car j'ai des interférences du style TDivorce, TFinances, etc etc, et en plus un clqcier azerty...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de beckerich
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
3
Merci
Salut,

Bonne année à tous deux (et surtout bon courage à Luc).

« Je souhaiterai détecter le moindre changement dans la page internet affichée, lors d'un clic sur telle ou telle action. »

A tout hasard, je suppose que tu as étudié OnCommandStateChange ?


_______________________________________
Soutenez Wikimédia France aujourd'hui : http://dons.wikimedia.fr

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Caribensila
3
Merci
Hop hop hop j'ai la solution


Regarde au niveau des champs d'en-tête et plus particulièrement If-Modified-Since et Last-Modified

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
Mince j'ai oublié un truc : Le mieux est que tu te penches sur le protocole HTTP ainsi que les deux champs que je t'ai indiqué.

Pour le principe du champ If_Modified_Since regarde ici

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
2
0
Merci
Bonjour,

peut-être touveras-tu ton bonheur ici :

events

Luc.
Commenter la réponse de beckerich
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
Merci beckerich pour le coup de main

j'ai trouvé aussi cette page mais ça ne marche pas car je ne peux rien détecter (ni image, ni frame, ni id, ni objet..)
je teste celle-là en ce moment :

LIEN

cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
Bonjour Caribensila et bonne année,
et à cashmire aussi...

Pour mon souci, l'évènement OnCommandStateChange
suppose une modification de l'URL ( NAVIGATEFORWARD et NAVIGATEBACK)

mais dans mon cas, il n'y a que du
javascript derrière..

je me demande si je ne vais pas tenter de faire une petite capture d'écran, la scanner dans un thread et tester dès que ça bouge..
c'est lourd mais..

Qu'en penses-tu ?

cantador
Commenter la réponse de cs_cantador
0
Merci
Salut,

Question con : A qui appartient ce site et le serveur ? (J'ai une ptite idée )
Commenter la réponse de Utilisateur anonyme
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
Salut Francky23012301,

je dirai rien même sous la torture...
la méthode doit pouvoir s'appliquer partout.

cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
merci Francky23012301 pour l'info
mais cela suppose que l'on puisse atteindre ces fameux champs.
or dans mon cas, ces infos sont inaccessibles..

cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
que du javascript..


cantador
Commenter la réponse de cs_cantador
0
Merci
"Ces infos sont inaccessibles " A cause du TWebBrowser ? du serveur ?
Commenter la réponse de Utilisateur anonyme
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
du TWebbrowser, non puisqu'il est maîtrisable.
du serveur, je suppose..
mais peut-être sont elles simplement cachées dans le source
à moins qu'avec Indy (qur tu connais bien) on puisse faire autrement.

cantador
Commenter la réponse de cs_cantador
0
Merci
Je te conseille de regarder plus en détail le protocole HTTP.

En fait il faut que :

*Ton serveur gère ce champ (Tous ne le font pas, même s'ils devraient).
*L'en-tête lors de l'envoie contienne ce champ (A voir si Indy et le WebBrowser permettent de le faire, sinon tu vas devoir utiliser winsock ).
*Il faut récupérer l'en-tête relative à la réponse reçue par le serveur et extraire la réponse correspondante à ce champ (et là aussi voir avec Indy et WebBrowser sinon winsock ).

Après dès qu'on touche au web, vu la jungle et le non respect des standards et normes, tu risques d'en baver.

Sinon ta méthode est aussi une alternative même si moins belle conceptuellement (Apres niveau perf ca sera aussi moins bon)
Commenter la réponse de Utilisateur anonyme
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
0
Merci
merci Francky23012301,

j'ai maintenant tout ce qu'il faut pour travailler..

cantador
Commenter la réponse de cs_cantador

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.