1

我有一个油脂猴 (.user.js) 文件,人们可以在我的网页上下载。我想跟踪它被下载了多少次。我可以使用onclick="pageTracker._trackPageview('/file_name.file_extension'),但文件可能更频繁地直接下载,而不是通过“官方链接”。

我该如何设置?(不必通过谷歌分析,自定义解决方案同样好)有一些限制,解决方案必须像这样工作:

  • Firefox:询问用户是否要安装脚本。
  • Opera:点击后直接看到文件(需要启用右键保存)
  • Chrome:我不确定它如何与 Chrome 一起使用 :)
4

2 回答 2

3

如果您确实想使用 Google Analytics,那么我建议您研究 PHP-GA——一个基于 PHP 的 Google Analytics 库。因此,您将链接到一个 PHP 脚本,该脚本将视图记录在 Google Analytics 中,然后将文件发送到浏览器。这意味着它将记录每次下载,无论是直接下载还是点击链接。

这是 Google 代码页面上的一个基本示例。

use UnitedPrototype\GoogleAnalytics;

// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-12345678-9', 'example.com');

// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');

// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();

// Assemble Page information
$page = new GoogleAnalytics\Page('/page.html');
$page->setTitle('My Page');

// Track page view
$tracker->trackPageview($page, $session, $visitor);

将此与代码结合起来,通过 PHP 将文件发送到浏览器,如下所示:

$file = 'file.js';
header('Content-disposition: attachment; filename='.$file);
header('Content-type: text/plain');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
于 2012-09-24T15:56:18.800 回答
0

要让greasemonkey 脚本执行PHP 代码,您需要.htaccess在同一目录中创建或修改文件并添加以下行:

<Files yourUserScript.user.js>
AddType application/x-httpd-php .user.js
</Files>

一旦 .htaccess 就位,您就可以使用PHP-GA将下载命中发送到 Google Analytics。

这使它适用于 Opera、Firefox 和使用Tampermonkey的 Chrome 用户。如果没有 Tampermonkey,用户安装脚本会变得更加困难:

为了安装店外扩展,用户必须将它们下载到一个目录并将它们拖到 chrome://extensions/ 上。

但是,您可以使用内联安装。您将访问者留在您的页面上,他们不必知道下载和拖入扩展程序。在您可以使用此内联之前,您必须验证您的网站。

这个答案也很有帮助:Manually added a Userscript to Google Chrome

可悲的是,Chrome 商店会跟踪 Chrome 的下载量,而 Google Analytics 会跟踪 Firefox 和 Opera 的下载量。

于 2012-10-29T01:56:22.530 回答