Page 1 sur 2
Récupérer des informations à chaque clique
Publié : 05 mai 2009, 11:03
par **seb**
Bonjour à tous,
Je développe actuellement une extension pour firefox dont le but est de collecter les informations suivantes :
- le titre de la page
- son adresse
- l'heure d'ouverture de cette page
- l'heure de fermeture (ou de changement d'onglet, de tel sorte a calculer le temps de visite de la page)
Dans une première partie, j'ai développé une application qui collecte ces informations pour toutes les pages visités, c'est à dire que je surveille le contenu de la barre d'adresse (onLocationChange)
Voici mes problèmes :
- Je n'arrive pas a savoir quand est-ce que tel onglet contenant tel url est soit fermé ou soit change d'url
- J'aimerais maintenant que ces informations soient collectés pour toutes les pages ou l'utilisateur a vraiment décidé d'aller (éviter d'enregistrer les redirections, les pop-ups, les actualisations automatiques,...) , c'est a dire donc enregistrer ces informations lorsque l'utilisateur clique sur un lien de la page web ou rentre une adresse dans la barre d'adresse et valide (j'ai pensé ensuite également à l'acces aux favoris et à l'historique, mais je ferais ca plus tard).
Si vous avez d'autres idées sur la facon de procéder pour obtenir le résultat souhaité, ou si vous savez comment résoudre mes problèmes, cela m'arrangerais bien
Merci d'avance pour votre aide
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
Publié : 05 mai 2009, 13:30
par Zefling
C'est pas un peu dangereux ton truc ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 05 mai 2009, 14:05
par **seb**
Dangereux ? Le but n'est pas d'espionner l'utilisateur si c'est ce que tu entends par "dangereux" mais d'analyser son historique de navigation pour lui proposer diverses choses lui correspondant.
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
Publié : 05 mai 2009, 15:51
par Zefling
Ça me parait un peu compliqué, faurait ajouter des évènements qui captures les informations que tu recherche. Ça doit bien être possible au changement d'onglet actif.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 05 mai 2009, 16:37
par **seb**
hum hum, oui je peux utiliser le changement d"onglet actif, je vais voir ca pour savoir combien de temps par page est écoulé, mais a vrai dire ce qui m'embête le plus c'est de repérer les clicks...
Car le changement d'onglet actif ca me permettra juste de savoir combien de temps est passé par onglet, mais pas les pages rééllement souhaité par le viisteur comme je l'ai expliqué dans le premier post. Et puis pour les changements d'url dans le même onglet le problème persiste !
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
Publié : 05 mai 2009, 16:53
par Pastisman
Bonjour,
Je n'ai pas de réel solution à t'apporter, mais peut-être devrais tu creuser du côté de l'utilisation de la propriété matchOnlytyped par la barre intelligente, cela permet de différencier les URL réellement demandées des autres, et tu trouveras peut-être comment cela est géré (une entrée dans l'historique à mon avis)
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.2; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 05 mai 2009, 17:59
par Zefling
Pour les cliques, ça ne fonctionnera pas avec les système de “gesture” ou un trucs comme
j'ai fait, non ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 05 mai 2009, 18:58
par nico@nc
Publié : 06 mai 2009, 10:17
par **seb**
Merci à vous tous pour vos réponses et votre aide
nico@nc => le deuxième lien reprend ce que j'ai déja fait (onLocationChange) et n'est donc pas assez précis pour ce que je souhaite faire. Ton premier lien, en revanche, est très interessant ! Malheuresement je ne trouve pas trop d'informations complémentaires sur google... nsHTMLLinkElement, DOMLinkAdded, tout ceci semble interressant mais il faut maintenant que j'arrive a l'exploiter. C'est pas facile pour moi c'est ma première extension et je commence assez dur apparamment (je suis en stage donc un peu obligé...!)
Zefling => je ne vois pas trop le rapport avec ce que je veux faire et ton extension...
Pastisman => je recherche actuellement du coté de matchOnlytyped mais c'est assez pauvre niveau information ou je cherche très mal
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
Publié : 06 mai 2009, 10:55
par Zefling
**seb** a écrit :Zefling => je ne vois pas trop le rapport avec ce que je veux faire et ton extension...
Bha, c'est juste pour dire que dans plein de cas, on peut changer d'onglet sans utiliser le clic gauche ou centrale.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 06 mai 2009, 11:08
par **seb**
OK, j'en prends note, mais en théorie, la manière dont l'utilisateur change d'onglet m'importe peu, il faut juste que je détecte quand un onglet est changé, peu importe comment il a été changé.
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
Publié : 11 mai 2009, 10:56
par **seb**
Bonjour à tous, apres quelques jours à me renseigner, je galere toujours autant...
J'ai été regardé du coté de matchOnlyTyped mais je n'ai pas trouvé comment récupérer les informations de la barre...
La combinaison de matchOnlyTyped et de DOMLinkAdded semble pourtant être une excellente solution.
J'aimerais me servir de matchOnlyTyped pour récupérer les liens de l'historique / des favoris sur lesquels l'utilisateur a cliqué.
J'aimerais me servir de DOMLinkAdded pour ajouter a chaque lien de chaque page en cours de visite un evenement onClick ou je sauvegarderais le lien sur lequel l'utilisateur clique.
Seulement je n'arrive a exploiter ni l'un ni l'autre....
Quelqun pourrait-t-il m'apporter de l'aide ?
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
Publié : 11 mai 2009, 15:17
par Pastisman
J'ai regardé un peu, j'ai pas trop trouvé non plus pour le MatchOnlyTyped, sur MDc, il parle de flags Gecko dans l'historique, sans plus de précision, je pense qu'il doity avoir une entrée dans la base donnée historique, mais comment la récupérer ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.2; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Publié : 11 mai 2009, 15:35
par **seb**
J'ai pensé à la même chose que toi (l'entrée dans la BDD historique) que je pense pouvoir récupérer facilement (requete SQL en JS)
Seulement :
- Cela ne m'arrange pas trop de devoir utiliser ca, question de futur compatibilité...
- Je n'ai pas trouvé d'entrée correspondante ! Ci dessous, un screenshot des 2 uniques tables de la BDD formhistory.sqlite avec l'aide de l'extension SQLite Manager
De la table
moz_formhistory :
De la table
moz_dummy_table
Ce probleme commence a bien me prendre la tête, je suis en stage et je n'ai pas tout mon temps... De plus les ressources XUL et cie sont tres pauvre je trouve sur le net. Merci a ceux qui tentent de m'aider sur ce forum
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
Publié : 11 mai 2009, 16:15
par Pastisman
Bah ce serait plutôt dans places.sqlite que tu devrait regarder. formhistory c'est pour les formulaires, l'historique est sauvé avec les marque-pages !
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.2; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10