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