提取并压缩第三方统计JS

据我所知,大多数的第三方统计用的都是JS代码。我现在用的是量子恒道,也就是以前的雅虎统计,我就以量子恒道的为例,说说我是如何提取并压缩第三方统计JS的。 

量子恒道中有“获取统计代码”一项,其中可以找到每个用户唯一的统计代码。在将代码插入我的Wordpress后,发现该JS有15.4K,说大不大,说小不小,肯定还有压缩的空间。写到这里,看过我《完美启用Gzip压缩JS、CSS》这篇文章的童鞋们应该已经有些头绪了吧。

1.复制http://js.tongji.linezing.com/××××/tongji.js这一行,用下载工具下载该JS。

2.打开该文件,另存为tongji.js.php。

3.在tongji.js.php的顶部加入以下代码:

<?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');} header("Content-Type: text/javascript"); ?>

4.在tongji.js.php的底部加入以下代码:

<?php if(extension_loaded('zlib')) {ob_end_flush();} ?>

5.上传tongji.js.php至网站根目录。

6.用http://你的域名/tongji.js.php替换原统计代码中的http://js.tongji.linezing.com/××××/tongji.js。

将修改后的统计代码插入你的网站吧,现在的JS已经被Gzip压缩过了,原来15.4K的JS现在只需加载5.1K了。其实这原理很简单,说白了就是偷梁换柱,人家服务器上的我不能压缩,放在自己服务器上就可以压缩了嘛,这样就实现了压缩第三方统计的JS。

  1. 感谢万戈提供的好办法,我搞定了cnzz的统计(貌似没有问题 :lol: )。
    但是clicki的统计好像不能实现本地调用。我看了一下代码,它似乎是在访客访问时都会生成一个唯一的校验值,而这个校验值的生成代码并不包含在js文件里。
    不知道万戈有没有兴趣研究一下?

  2. 这个我用了,而后发现ie8下会提示一个错误信息,当然不影响阅读博客

    网页错误详细信息

    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
    时间戳: Mon, 31 Aug 2009 03:18:58 UTC

    消息: 语法错误
    行: 1
    字符: 1
    代码: 0
    URI: http://www.hypfx.com/tongji.js.php