Bri*_*nna 16
即使启用了JavaScript,分析也会请求GIF文件.如果你看一下图像的GET参数,它包含了很多关于浏览器的信息.像utmsr=1280x1024(屏幕尺寸)的东西.Google Code有一个参数列表.
它使用图像请求来发送有关浏览器的信息XMLHttpRequest.
现在,要真正回答原始问题,谷歌可能会这样做以解决跨域XMLHttpRequest限制.
Chr*_*ris 16
Google的javascript必须将您的页面视图的详细信息传输给他们的服务器.Ajax不能跨域使用,因此提交信息的唯一方法是从Google服务器请求文件,并在查询字符串中传递必要的信息.为此,必须使用标准HTML标记请求某种形式的内容.在不影响页面本身的情况下执行此操作的最简单方法是加载1x1透明gif.请注意,对于Google脚本(以及其他),此图像实际上并未添加到页面中.它只是通过javascript语句加载
var img1 = new Image();
img1.src = 'http://path/to/file.gif?otherinfohere';
Run Code Online (Sandbox Code Playgroud)
这会加载图像而不将其添加到页面.也可以使用脚本标记加载信息,如下所示:
<script src="http://path/to/script.js?otherinfohere" type="text/javascript"><script>
Run Code Online (Sandbox Code Playgroud)
但是,用户比图像更容易被javascript阻止,因此更安全的路线是请求图像.至于为什么他们会使用gif而不是说jpg,如果流氓浏览器实际上将图像添加到页面,gif会更安全.透明的gif不太可能对布局产生负面影响,因为1x1 jpg会在页面的某处留下1像素点.
编辑:要添加我对有阻止javascript的用户的评论,可以在noscript标记内添加包含静态信息的gif请求,以便即使在禁用javascript的情况下也允许基本跟踪.据我所知,GA没有这样做,但其他一些网络分析提供商也这样做.
Pin*_*juh 13
http://www.perlmonks.org/?node_id=7974
最小的透明GIF是43个字节.
http://garethrees.org/2007/11/14/pngcrush/
最小的透明PNG-24(旧版浏览器也无法显示)为67字节.
最小(不透明)JPEG是134字节.
数学很简单!更大的尺寸=更多的成本.
| 归档时间: |
|
| 查看次数: |
6258 次 |
| 最近记录: |