1

我已将一些对象放入 S3 存储桶中,并且我想在每次客户端向其中一个对象发出请求时记录下来。

我使用 Umbraco 4.8 作为我的后端,并运行了一些自定义代码。

我提出的解决方案:

  1. 将链接设置为从 S3 中提取对象并将其作为响应发送回的 ASP 页。我看到的问题是客户端必须等待 ASP 加载文件才能开始下载文件。

  2. 将链接设置为记录请求并将 Response.Redirect 返回到 S3 对象的 ASP 页。对我来说,这似乎是不必要的重定向,客户端可能会缓存该重定向,并且下次访问该对象时不会访问我的服务器。

有没有人对如何实现这一目标有任何其他解决方案或想法?任何帮助,将不胜感激。

4

2 回答 2

1

我会使用 jquery 和谷歌分析。向您要跟踪的每个链接添加一个类,然后使用 jquery 将 onclick 事件操作为:

<a href="[link]" onclick="__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);">link text</a>

适当地替换三个变量('s3-Bucket-Request'、's3-actual-bucket-name'、'current-page')。如果然后将 jquery 放在每个页面的开头,那么您就有了一个可重用的功能。

开始:

<a href="[link]" class="ga">link text</a> 

jQuery:

$('.ga').attr("onclick", "__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);");

结尾:

<a href="[link]" class="ga" onclick="__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);">link text</a>
于 2012-09-17T09:41:51.233 回答
0

根据您需要的准确程度,您也可以在客户端进行。使用 jQuery 等,向a href标签添加点击处理程序,向控制器发出 ajax 请求,记录活动。

于 2012-09-14T22:03:52.143 回答