gpt4 book ai didi

javascript - 使用 new Image().src 进行点击跟踪

转载 作者:行者123 更新时间:2023-11-29 22:41:10 24 4
gpt4 key购买 nike

我正在尝试弄清楚为什么这个点击跟踪器不起作用。该代码是由另一位开发人员编写的,因此我不确定这是否有效。

function trackSponsor(o, p) {
(new Image()).src = PATH_BASE + 'click/' + p + '/' + o + "?_cache=" + (+(new Date()));
return false;
}

据我所知,当调用此函数时,它会“创建一个新图像”以异步触发 php 脚本。根据 Firebug 的说法,请求已发出,但它在大约 30 毫秒内“中止”了。奇怪的是,无论浏览器如何,它都会“有时”像每 10+ 中的 1 那样工作。

我宁愿解决这个问题,让它正常工作,而不是将其重写为 ajax 请求。

感谢任何帮助。

提前致谢。

编辑

因为 tvanfosson 的帖子让我开始思考。我在下面包含了调用点击跟踪器的行。

<a onclick="trackSponsor(60, 15077); goToNextStep(1988, 15077, 0); return false;" href="#">view</a>

goToNextStep() 实际上改变了页面。我的印象是它只会在 trackSponsor() 完成后执行。

最佳答案

使用 jQuery 重写为 get 请求实际上非常简单。重写它肯定会帮助下一位开发人员了解正在发生的事情,并可能解决您的问题。我需要了解更多有关变量内容的信息——也许它们需要进行 urlEncoded? - 在我可以帮助你之前。您可以尝试对它们进行 urlEncoding,看看会发生什么。

function trackSponsor(o, p) {
var url = PATH_BASE + 'click/' + p + '/' + o + "?_cache=" + (+(new Date()));
$.get(url);
return false;
}

编辑:您可能想要检查当调用触发跟踪的事件时另一个处理程序没有将浏览器重定向到新位置。这将中止页面上的所有待处理请求 - 并且可能允许一些请求成功,具体取决于请求的时间以及结果是否在页面卸载之前交付。

关于javascript - 使用 new Image().src 进行点击跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2716270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com