对于事件也可以驱动,先后台发送数据。没有做,很欠缺。就是事件跟踪没有做。
这是数据埋点统计前端代码的简易实现demo。
更细节的可以查看
http://blog.csdn.net/longlc123/article/details/76796133
(function() {
var that = {};
var _maq = [];
var custFuncs = {
"pushValue": function (arrValue) {
_maq.push(arrValue);
custFuncs.toBackData(arrValue);
},
"toBackData": function (arrValue) {
var params = {};
//Document对象数据
if(document) {
params.domain = document.domain || '';
params.url = document.URL || '';
params.title = document.title || '';
params.referrer = document.referrer || '';
}
//Window对象数据
if(window && window.screen) {
params.sh = window.screen.height || 0;
params.sw = window.screen.width || 0;
params.cd = window.screen.colorDepth || 0;
}
//navigator对象数据
if(navigator) {
params.lang = navigator.language || '';
}
//解析_maq配置
if(_maq) {
for(var i in _maq) {
switch(_maq[i][0]) {
case '_trackEvent':
// case '_setAccount':
//params.account = _maq[i][1];
params.page = _maq[i][1] ? _maq[i][1] : '';
params.titleType = _maq[i][2] ? _maq[i][2] : '';
params.item = _maq[i][3] ? _maq[i][3] : '';
params.content = _maq[i][4] ? _maq[i][4] : '';
break;
default:
break;
}
}
}
_maq.pop(arrValue);
//拼接参数串
var args = '';
for(var i in params) {
if(args != '') {
args += '&';
}
args += i + '=' + encodeURIComponent(params[i]);
}
//通过Image对象请求后端脚本
var img = new Image(1, 1);
img.src = 'http://aaabbb-dev.cctest.long.cn/aaabbb_analytics/1.gif?' + args;
}
}
//---------------暴露API----------------
that.push = custFuncs.pushValue;
window.ma = that;
//return that;
})();