为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片?


  • 避免跨域(img 天然支持跨域)
  • 利用空白gif或1x1 px的img是互联网广告或网站监测方面常用的手段,简单、安全、相比PNG/JPG体积小,1px 透明图,对网页内容的影响几乎没有影响,这种请求用在很多地方,比如浏览、点击、热点、心跳、ID颁发等等,
  • 图片请求不占用 Ajax 请求限额
  • GIF的最低合法体积最小(最小的BMP文件需要74个字节,PNG需要67个字节,而合法的GIF,只需要43个字节)
  • 不会阻塞页面加载,影响用户的体验,只要new Image对象就好了,一般情况下也不需要append到DOM中,通过它的onerror和onload事件来检测发送状态。
  • 示例:
    <script type="text/javascript">
     var thisPage = location.href;
     var referringPage = (document.referrer) ? document.referrer : "none";
     var beacon = new Image();
     beacon.src = "http://www.example.com/logger/beacon.gif?page=" + encodeURI(thisPage)
     + "&ref=" + encodeURI(referringPage);
    </script>

     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM