Clic html avec referer, et info sur serveur http

WRInaute discret
Bonjour à tous,

Depuis toujours j'utilise une url rattachée à mon site, qui permet de rerouter un clic vers un site extérieur, avec un refresh immédiat:

h#tp://ww#.monsite.com/transfertdeclic/www.lesitedestinataire.com/

Je peux ainsi comptabiliser les sorties vers mes partenaires.

L'ennui est que ceux-ci ne peuvent connaître l'origine de cette arrivée à l'aide du 'referer ' qui sans cette disposition serait présent dans le log. Leur outil quotidien de statistique ne détecte donc pas l'origine de cette arrivée. Ce n'est pas vraiment grave car ma base de données fournit des stats bien plus complètes. mais j'aimerais tout de même trouver une solution.

Je pense qu'il existe des codes simples en javascript qui permettent un envoi d'information à www.monsite.com au moment du clic direct vers h#tp://www.lesitedestinataire.com. Peut-être en insérant un onClick= ou autre chose dans le code html href.

Mais je n'ai pas trouvé grande chose de simple et efficace.

Quelqu'un peut-il m'éclairer à ce sujet ?

Merci beaucoup d'avance.
 
WRInaute passionné
avec cette fonction et un onmousedown="return clk('1')":
Code:
<script type="text/javascript">
<!--
	function clk(id)
	{
		(new Image()).src="http://tonsite.fr/goto.php?id="+id;
		return true;
	}

//-->
</script>

le paramètre id est un numéro de site par exemple.
goto.php enregistre les clic.[/code]
 
WRInaute discret
Merci webmasterlamogere

Je vais tester cette solution, mais elle semble nécessiter l'établissement en <head> de la déclaration de script énumérant les différents sites extérieurs cliquables figurant dans ma page. Ce qui complique selon moi la génération du code.

Si c'était possible d'obtenir l'effet espéré en limitant l'écriture à la ligne de code html du lien, cela m'épargnerait beaucoup de taf sur un nombre important de pages.

Merci en tout cas pour ta réponse rapide.
 
WRInaute passionné
tu peux mettre en paramètre l'url si c'est plus simple pour toi.
Si tu ne veux pas modifier le lien tu peux utiliser les fonction window.addEventListener ou window.attachEvent.
 
WRInaute discret
Re merci webmasterlamogere,

Je ne veux pas abuser de ton attention, mais je n'ai pas trouvé d'exemples d'usage des fonctions window.addEventListener ou window.attachEvent au sein (ou encapsulés) dans un code html <a href ###>

Il est vrai qu'il ne s'agit pas d'un appel de données au serveur, car le navigateur attend lors du clic le chargement de la page du site destinataire (partenaire). Je recherche donc à seulement informer au moment du clic le serveur http à l'aide d'un hit porteur d'une information, mais dont le navigateur n'attent aucune réponse. Quelque chose comme si était associé à un clic vers l'extérieur, un outil de comptage de clic par exemple, sauf que j'aimerais juste récupérer aussi l'adresse ip du navigateur, comme si c'était un clic ordinaire.

As-tu un exemple d'insertion des fonctions window.addEventListener ou window.attachEvent dans un code href html ?

Merci encore...
 
WRInaute discret
C'est encore moi. En regardant google, je vois sur les liens des résultats qu'il propose :

<a href="h#tp://www.lesite.com/" class=l onmousedown="return clk(this.href,'','','res','10','')">

J'ai supposé un moment qu'il s'agissait d'un outil de détection de clic. Quelqu'un sait-il si c'est une piste ?
 
WRInaute accro
Elogia a dit:
[...]rerouter un clic vers un site extérieur, avec un refresh immédiat
[...]
L'ennui est que ceux-ci ne peuvent connaître l'origine de cette arrivée à l'aide du 'referer

Refresh? Arg. Pas beau. Fortement déconseillé. Idem pour les document.location=xxx.

Il suffit de faire un "vrai" redirect (au niveau HTTP, pas HTML), et le referer sera conservé. Et c'est nettement plus propre pour la gestion du "back" et tout ce qui s'en suit.

Jacques.
 
WRInaute discret
Merci Jacques, [suffit de faire un "vrai" redirect (au niveau HTTP, pas HTML), et le referer sera conservé. Et c'est nettement plus propre pour la gestion du "back" et tout ce qui s'en suit.]

Je n'avais pas pensé à celà. Tu parles de redirection telle qu'une erreur 301 ?

Quel code erreur dans ce cas ?
201 : document créé (raison : nouvelle URI) ?

Dès que j'ai ta réponse je bosse là-dessus... je viens effectivement de trouver à l'aide de ta réponse des pistes sur le web...

Cela semble propre et sain ...

a bientôt.
 
WRInaute accro
Elogia a dit:
Je n'avais pas pensé à celà. Tu parles de redirection telle qu'une erreur 301 ?

301 c'est un redirect, 302 aussi. Les erreurs c'est en 400 et 500, comme les classiques 404 (not found) ou 500 (internal server error). Voir les discussions sur le sujet pour savoir s'il vaut mieux un 301 ou un 302 dans ton cas.

Jacques.
 
WRInaute passionné
Elogia a dit:
C'est encore moi. En regardant google, je vois sur les liens des résultats qu'il propose :

<a href="h#tp://www.lesite.com/" class=l onmousedown="return clk(this.href,'','','res','10','')">

J'ai supposé un moment qu'il s'agissait d'un outil de détection de clic. Quelqu'un sait-il si c'est une piste ?

Le plus simple est de mettre cette fonction dans ton HEAD :
Code:
<script type="text/javascript"> 
<!-- 
   function clk(urlhref) 
   { 
      (new Image()).src="http://tonsite.fr/goto.php?url="+urlhref; 
      return true; 
   } 

//--> 
</script>
et de mettre les liens dont tu veux comptabiliser les clic comme ca :
Code:
<a href="h#tp://www.lesite.com/" class=l onmousedown="return clk(this.href)">
 
WRInaute discret
Gros merci à jacques et webmasterlamogere.

La redirection http est la plus simple, rapide, et propre. Je le faisais déjà en 301 pour des urls périmées. Bien pour les internautes, mais surtout pour les index des moteurs. Et cela n'alourdit pas d'un seul octet les pages porteuses de ces liens de redirection...

Bon week end à tous.
 
Discussions similaires
Haut