我想创建一个简单的跟踪脚本来提供给我的客户。与GA类似但非常基本的东西。
要求是
我无法想象的是这样做的方法是什么? 我看到谷歌正在加载一个gif文件,存储信息并解析日志。 如果我做类似的事情,将数据发送到php文件,Ajax跨站点策略将阻止我,从我记忆中。
那么干净的方法是什么? (我不需要代码只是背后的逻辑)
答案 0 :(得分:18)
方法a - 网络错误:
给用户这个:
<img src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid" width="1" height="1" />
让php返回header("content-type:image/gif");
并为他们的工作提供gif文件。
方法b - 脚本
创建一个可以解析参数并让它返回content-type:text/javascript
的php文件
让他们加载它像这样:
<script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>
如果你愿意,你可以做其他的事情,比如
<script type="text/javascript">
var associateId = "12345";
var trackingPage="homepage";
</script>
<script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>
然后在php中有这样的代码(观看嵌套引号)
$str = 'var url = "http://www.yourserver.com/moretracking.php?associateid="+associateId+';
$str .= '"&page="+trackingPage+"&ref="+escape(document.referrer);\n';
$str .= 'document.write(\'<img src="\'+url+\'"/>\');';
echo $str;
答案 1 :(得分:0)
您可以阅读有关跨域ajax及其可能的解决方案的这一点(发现谷歌搜索)...... http://snook.ca/archives/javascript/cross_domain_aj/
答案 2 :(得分:0)
好吧,我使用了一些PHP代码,这些代码包含在我的脚本中,用于记录Ip地址以及从服务器端角度可以获得的更多信息。它将其保存在MySql数据库中。我还使用Ajax脚本将数据发布到php脚本,这种情况下的数据是Screen Heigth,你只能得到客户端的数据。