javascript - 计算网站上多个文件的下载次数的最佳方法

标签 javascript php html

问题是“计算网站上多个文件的下载次数的最佳方法”

我正在尝试做的事情:

  1. 跟踪并统计多个文件的下载次数
  2. 适用于具有不同扩展名的文件。 (foo.zip、bar.tar.gz、foo2.zip)
  3. 避免依赖服务器端代码。

我已经看到了使用 Apache access.log 计算文件下载的多个答案 cat /path/to/access.log | grep foo.zip | grep 200 | wc -l 来自Best way to count file downloads on a website ,这是一个 Eloquent 解决方案,但需要访问后端日志文件。我希望使用一个主要是 javascript 的解决方案,它也可以调用代码的 php 部分。

最佳答案

为什么不使用 Google Analytics?

https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide?hl=es

如果您的网站已启用 Google Analytics(分析),您只需向链接添加 onclick 事件,即可创建链接点击次数的计数。

对于您的示例,链接如下所示:

<a onclick="var that=this;_gaq.push(['_trackEvent','Download','foo',this.href]);setTimeout(function(){location.href=that.href;},400);return false;" href="downloads/foo.zip">Download foo.zip</a>

<a onclick="var that=this;_gaq.push(['_trackEvent','Download','bar',this.href]);setTimeout(function(){location.href=that.href;},400);return false;" href="downloads/bar.tar.gz">Download foo.zip</a>

<a onclick="var that=this;_gaq.push(['_trackEvent','Download','foo2',this.href]);setTimeout(function(){location.href=that.href;},400);return false;" href="downloads/foo2.zip">Download foo.zip</a>

在 Google Analytics(分析)中,“下载”事件是所有三个文件的下载总数,每个文件都有自己的事件“foo、bar、foo2”,这将是每个文件的单独下载计数。

如果您想从服务器端执行此操作,则需要在客户端中包含一些代码。使用已经存在的工具比使用 php 和 javascript 编写自己的解决方案更有效。

关于javascript - 计算网站上多个文件的下载次数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468483/

相关文章:

javascript - 使用 JavaScript 测量页面加载时间

Javascript:动态生成一个 Div

javascript - 更改 CSS 属性

javascript - 带有 Bootstrap 工具提示的图像 map 未显示在正确的位置

php - 从 mysql 文本数据类型列获取所有 <h2> 标记和 <p> 标记文本

javascript - 动画中的不同步

php - 用PHP抓取YouTube上的视频

html - 如何在禁用模式下更改状态类型下拉列表的外观

PHPcs xml 配置禁用一些规则

PHP glob() 找不到 .htaccess