日期:2014-05-16  浏览次数:20362 次

js操作img元素的问题
原文地址:http://blog.blacklee.net/tech/783-summing-up-of-a-google-analytics-similar-project-javascript-part

以上文章是一篇关于网站流量统计的。
他遇到的问题是,小图片的请求次数和统计的js请求次数比率是6:10;

原因是只要img对象的src赋值了。那么浏览器就会去请求图片。

解决方法
将引用js的script标签从页面底部移到head标签内
JS加载完马上执行对应方法,不等document.onload完成
不再把图片往document.body上添加,但为了防止被浏览器垃圾回收,需要放到window对象内。

(function(){
  function initData(){xxx;}
  function submit(){
    var img = new Image();
    var id = "tracker-img";
    img.id = id;
    img.onload = img.onerror = img.onabort = function() { window[id] = undefined; };
    window[id] = img; // 避免img对象被浏览器垃圾回收了
    img.src = "http://www.sample.com/1.gif?" + params;
  }
  initData();
  submit();
})()