如何使用js和php创建类似于Google analytic的跟踪脚本?

时间:2014-02-28 09:55:16

标签: javascript php jquery ajax

我想创建一个跟踪脚本。与Google Analytic类似,但非常基本。

要求是

我需要像Google Analytic这样的简单js脚本 从主站点创建js文件中的大部分逻辑 在PHP中收集信息并存储它 我无法想象的是这样做的方法是什么?我看到谷歌正在加载一个gif文件,存储信息并解析日志。如果我做类似的事情,将数据发送到php文件,Ajax跨站点策略将阻止我,从我记忆中。

1 个答案:

答案 0 :(得分:4)

不确定Google Analytics的工作方式,但绕过x-site策略的方法就是不要进行Ajax调用。假设您使用了javascript并且现在有访问者数据的哈希值:

var statsPage = 'http://mysite/gather_stats.php';
var stats = {
    page: location.href,
    browser: 'ie',
    ip: '127.0.0.1',
    referral: 'google.com?search=porn'
};
var params = $.param(stats); // serializes it https://api.jquery.com/jQuery.param/

现在你只需要用这个字符串作为参数向你的php页面做一个GET请求,不要使用Ajax,只需使用url作为img src

$('<img>', {
    src: statsPage + '?' + params
}).appendTo('body').remove()

你也可以用同样的方式使用script标签,但你应该注意,因为php stats页面返回的任何内容都将以javascript(这正是jsonp的工作方式)执行。 / p>

请记住一些limits apply to Get strings length