J'essaie de faire un script de suivi de lien. Il devrait fonctionner comme Google Analytics seulement, il devrait faire des publications sur notre propre serveur. J'utilise jQuery pour ça. Le code que j'ai écrit à ce jour est le suivant:Script de suivi de lien Javascript + Safari
jQuery(document).ready(function() {
var opts;
jQuery.fn.trackAllLinks = function(settings) {
settings = jQuery.extend({}, jQuery.fn.trackAllLinks.defaults, settings);
opts = settings;
function track() {
href = jQuery(this).attr('href');
var trackImage = new Image(1, 1);
trackImage.src = opts.linkredirector + '?eurl=' + jQuery.URLEncode(href) + '&rnd=' + new Date().getTime() + '&title=trackerimage.gif';
trackImage.onload = function() {
trackImage.onload = null;
doNothing();
}
delay(300);
return true;
};
function delay(mseconds) {
var currentTime = new Date();
var endTime = currentTime.getTime() + mseconds;
while (currentTime.getTime() < endTime) {
currentTime = new Date();
}
}
function doNothing() {
}
if(jQuery(this).is("a")) {
jQuery(this).click(track);
}
jQuery(this).find("a").click(track);
};
jQuery.fn.trackAllLinks.defaults = {
linkredirector : '__url_to_post_on__'
};
});
Cela fonctionne très bien dans tous les navigateurs sauf Safari. Lorsque j'utilise un lien mailto ou une ancre, cela fonctionne, mais quand je suis en train de créer un lien vers une autre page, cela ne fonctionne pas. J'ai testé beaucoup d'implémentations différentes et je n'arrive pas à le faire fonctionner. Quelqu'un d'entre vous a une idée de ce qui me manque? J'ai essayé de comprendre comment Google Analytics fonctionne et, pour autant que je puisse le voir, il fait la même chose. Quand j'utilise WireShark pour surveiller mon réseau, je vois que l'image de Google est demandée mais que mon image ne l'est pas.
Salue, Daan
Cela ne fait probablement pas beaucoup de différence, mais est ce problème dans Safari sur Windows? ou sur le Mac? – scunliffe
Je l'ai testé dans les deux versions et les deux donnent le même problème. Dans Safari on mac j'ai pu déboguer le javascript et il est correctement exécuté ... c'est comme si l'image n'était pas chargée à temps, car après le clic vous serez sur une autre page. –