我试图做一个链接跟踪脚本。它应该像谷歌分析一样,只有它应该发布到我们自己的服务器。我为此使用jQuery。我写到目前为止的代码如下: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__'
};
});
它适用于除Safari以外的所有浏览器。当我使用邮件链接或锚点它的作品,但是当我链接到另一个页面不起作用。我一直在测试很多不同的实现,我无法实现它的工作。你们中的任何一个人都知道我错过了什么?我试图了解Google Analytics的运作方式,并且据我所知,它的确如此。当我使用WireShark监控我的网络时,我发现Google的图像被请求,但是我的图像不是。
映入眼帘, 大安
它可能没有多大区别,但是这个问题在Windows上的Safari?或在Mac上? – scunliffe 2009-10-05 12:26:36
我已经在两个版本中测试过它们,并且它们都给出了相同的问题。在Mac上的Safari浏览器中,我能够调试javascript并正确执行它。它就像图像没有及时加载,因为在点击之后你将会在不同的页面上。 – 2009-10-05 13:28:12