0

我想向我的客户提供一个 javascript 代码段(有点像谷歌分析),它将使用他们网站上的代码并跟踪他们网站上的访问持续时间。我想为此使用cookies。

我唯一的问题是最好的实施方式是什么?我想到的几个选项:

  1. 我是否应该从 PHP 设置 cookie(它将位于我的域中),这是否会被视为 3rd 方 cookie?
  2. 还是我必须从 Javascript 设置一个 cookie,因为它将是从我的站点加载的客户端?
  3. 还是使用 javascript 设置 cookie 并使用 PHP 访问它们的最佳方式?
4

1 回答 1

2

如果您在 JavaScript 中设置 cookie,则 cookie 的域将是网站的域,而不是您的域。因此,在执行类似操作时,该信息不可用。

<script src="http://example.com/tracking-js.php"></script>

换句话说,那是行不通的。

相反,您需要使用 AJAX 或(谷歌如何做)通过加载空白图像将客户信息发送到您的网络服务。

JavaScript中有很多参数可用,但不能发送到服务器(不在$_SERVER)。Google 将该信息添加为 GET 参数。

但是,如果您真的不需要这些数据,最简单的方法是将您的脚本作为图像包含在客户的网站上。

<img src="http://example.com/tracking.php" />

$_SERVER['HTTP_REFERRER']将是包含脚本的页面的 URL。确保设置Content-Type'image/gif'并输出一个空白的 1px gif。

使用 AJAX 时,请注意您需要使用CORS,这意味着设置Access-Control-Allow-Origin响应标头。

请注意,在没有 jQuery 的情况下使用 AJAX 可能会很痛苦。由于您不关心响应,因此创建跟踪图像(使用 javascript)可能是您的最佳选择。阅读这篇文章,了解如何实现它。

于 2013-01-04T00:22:07.187 回答