J'ai besoin de suivre les clics sortants à partir d'un répertoire sur notre site, et je voudrais faire cela pour que l'URL réelle soit dans le href. Quelque chose comme:Jquery clicktracking mousedown vs cliquez sur
<a href="http://www.example.com" id="a24" class="link" >Go to Example</a>
Ceci est le JQuery que j'utilise ci-dessous. Le fichier click.php recherche essentiellement l'identifiant du lien, puis insère les informations de clic dans une table mysql.
Cela semble fonctionner correctement même si le fichier click.php prend beaucoup de temps à se terminer. En d'autres termes, l'utilisateur se connecte immédiatement à l'url de destination, même si je mets le click.php en veille pendant 10 secondes avant de terminer.
J'utilise $ ('a.link'). Mousedown au lieu de $ ('a.link'). Cliquez Lorsque j'utilise .cliquez, il ne fonctionne pas (le clic est pas enregistré). Je suis juste curieux de savoir pourquoi cela ne fonctionne pas avec l'utilisation de la fonction .click et fonctionne uniquement avec la fonction .mousedown.
Est-ce un bon moyen de capturer les clics avec JQuery ou existe-t-il un meilleur moyen? (Je me rends compte que n'importe qui avec Javascript désactivé ne serait pas compté).
$('a.link').mousedown(function(e){
var my_id = $(this).attr('id');
$.ajax({
type: "GET",
url: "/tiger/sal/clicks/click.php?id=my_id"
});
return true;
});
Merci, mais même avec le mousedown et le click.php prenant 10 secondes pour terminer (j'inclus sleep (10) dans le fichier click.php) cela fonctionnera. Donc, il envoie immédiatement l'utilisateur sur le site, puis environ 10 secondes plus tard, l'enregistrement de clic est entré dans le tableau. C'est ce que je veux qu'il fasse, je suppose que je me demande juste pourquoi ça fonctionne avec mousedown et ne cliquez pas, et si je fais quelque chose qui pourrait causer des problèmes dans le clicktracking. – Frank
Okay. J'ai édité ma réponse. Vous voulez envoyer une requête '$ .post()' en utilisant jQuery - cela envoie la requête au serveur et n'attend pas qu'elle soit terminée avant d'expédier l'utilisateur à la destination du lien. Cela envoie toutes les informations nécessaires à votre script pour être traitées _without_ nécessitant que l'utilisateur attende que cela se termine. Aussi, j'essaierais d'éviter d'utiliser 'sleep()' autant que possible parce que ce n'est pas très bon pour l'interface utilisateur. – hohner
Merci beaucoup, je dois partir maintenant, mais je vais le tester dès que possible. Aussi, je viens de mettre le sommeil là pour voir ce qui se passerait si le serveur était vraiment lent, et si cela ralentirait les gens à l'URL de destination. Donc, je supprimerais cela en production. – Frank