网站统计中的数据收集原理及实现(4)

页面标题 javascript document.title 分辨率 javascript window.screen.height & width 颜色深度 javascript window.screen.colorDepth Referrer javascript document.referrer 浏览客户端 web server Nginx $http_user_agent 客户端语言 javascript navigator.language 访客标识 cookie 网站标识 javascript 自定义对象
埋点代码

埋点代码我将借鉴GA的模式,但是目前不会将配置对象作为一个FIFO队列用。一个埋点代码的模板如下:

复制代码 代码如下:

<script type="text/javascript">
var _maq = _maq || [];
_maq.push(['_setAccount', '网站标识']);

(function() {
    var ma = document.createElement('script'); ma.type = 'text/javascript'; ma.async = true;
    ma.src = ('https:' == document.location.protocol ? 'https://analytics' : 'http://analytics') + '.codinglabs.org/ma.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ma, s);
})();
</script>

这里我启用了二级域名analytics.codinglabs.org,统计脚本的名称为ma.js。当然这里有一点小问题,因为我并没有https的服务器,所以如果一个https站点部署了代码会有问题,不过这里我们先忽略吧。

前端统计脚本

我写了一个不是很完善但能完成基本工作的统计脚本ma.js:

复制代码 代码如下:

(function () {
    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 || '';
    }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1664.html