如何使用jquery计算文件的下载量

时间:2011-03-09 17:32:46

标签: jquery-plugins

任何人都知道一些jquery插件可以计算从服务器下载文件(在我的情况下是pdf)的次数吗?

6 个答案:

答案 0 :(得分:3)

您只需将google analytics javascript API与onclick事件一起使用

即可

然后,您可以获得漂亮的下载图表。请参阅此处查看示例案例:http://think2loud.com/use-jquery-with-google-analytics-to-track-clicks-on-outgoing-links-from-your-site/

答案 1 :(得分:1)

您可以创建用于计算下载链接的脚本download.php。

<?php

// connect to database
if (isset($_GET['file'])) {
    $file = mysql_real_escape_string($_GET['file']);
    $query = "insert into downloads VALUES('$file', 1) on duplicate key " . 
      "update count = count + 1;, count+1)";
    mysql_query($query);
}
?>

下载表是:

create table downloads(file VARCHAR(255) primary key, count integer default 1)

和jQuery

$('a.download').click(function() {
   //empty function don't care what I get.
   $.get('download.php', {file: $(this).attr('href')}, function() {});
});

它在每个具有下载类

的链接上调用带有href属性的download.php脚本

UPDATE 我忘记添加return false,因为在上面的代码中调用ajax然后中止它。

$('a.download').click(function() {
   var link = $(this).attr('href');
   $.get('download.php', {file: link}, function() {
       // change url to link when ajax is finished
       window.location = link;
   });
   // prevent following the link
   return false;
});

您还可以添加防止多次点击的代码,因为在ajax调用完成和更改url到元素链接之间会有延迟(用户可能会点击几次因为它不会链接到该链接)并且您可以添加CTRL +单击因为它在其他窗口中打开链接(在这种情况下你可以返回true)。

答案 2 :(得分:0)

您可以使用jQuery来确定单个用户在给定的完全呈现页面上单击给定链接的次数,并使用该值通过AJAX更新下载点击的数据库表,但jQuery没有任何直接了解与下载总数相关的服务器端数据,您必须使用该数据更新数据库并从那里显示数据。您可以使用jQuery观察并查看该值是否发生更改(可能在计时器上)并相应地更新您的页面,但仍需要对数据库查找进行AJAX调用。

jQuery是一个Javascript库,它是一种客户端语言,一旦下载并在客户端的机器上运行就会在页面上起作用,因此不是服务器端逻辑和查找的地方,除非在这种情况下AJAX是有保证和需要的。

答案 3 :(得分:0)

这是不可能的。 jQuery代码在用户的浏览器中运行,而不是在服务器上运行。要计算下载量,您需要服务器端代码。

答案 4 :(得分:0)

单凭jQuery无法做到这一点。

每次请求文件时,您都必须在服务器上跟踪。

答案 5 :(得分:0)

无论如何,修改上述脚本是为了允许每个用户在一段时间内根据他们加入网站的日期只下载1次,即用户每年只能从他们加入的那天开始下载文件一次网站?

我正在使用Wordpress来运行我的网站。

由于