11

这个问题涉及联属网络营销,但实际上是一个关于在超链接转到另一个站点之前拦截超链接的通用问题,您可以在其中将访问者活动记录到数据库中。

我的联盟营销客户提出了一个非常好的问题。想象一个场景,给定一个种子关键字,您通过其 API 从亚马逊撤回产品。现在想象一个访问者点击其中一个产品在亚马逊上查看它。该产品的 URL 可能如下所示(这只是一个演示):

http://www.amazon.com/dp/B0042RU3Y0/?tag=xxxxxxxxxxxxxxxx-20

但猜猜这有什么问题?它没有传递那个种子关键字。因此,我们不知道哪些种子关键字最有效。相反,她希望我们可以通过以下内容,然后以某种方式对其进行跟踪:

http://www.amazon.com/dp/B0042RU3Y0/?tag=xxxxxxxxxxxxxxxx-20&seed=laptops

我在亚马逊上没有看到任何文档,我们可以在其中传递额外的参数,然后通过过滤器在报告中跟踪它们。

所以,我唯一能想到的就是我们需要在点击进入亚马逊之前捕获它。换句话说,在该事件冒泡并执行之前,我可以在 jQuery 中以某种方式首先拦截它,解析该超链接的 href URL,添加这个额外的种子关键字信息,通过 AJAX 将其发送回 PHP 页面和数据库表,然后释放该单击事件,以便执行它并且浏览器转到亚马逊。

有谁知道这是如何在 jQuery 中完成的?我知道 AJAX 部分——只是不是抓住点击然后释放它的点击拦截部分。

4

2 回答 2

27

您可以将点击事件绑定到所有锚标记,例如

$("a").click(function(){
    // write your code
});

如果要执行默认操作,请return true;在此函数的末尾添加 a。

于 2010-12-08T05:15:40.797 回答
4
var seed = "&seed=laptops";
$("a").live('click',function(){
    $(this).attr('href', $(this).attr('href')+seed);
});
于 2010-12-08T05:21:31.530 回答