CNZZ统计代码异步运行的另外一种方式——async

前期提到CNZZ的统计代码被Chrome警告,所以改用了网上提供的异步统计代码,详见消除CNZZ.站长统计代码被Chrome浏览器警告的操作  中的叙述。后来这篇文章也同步发在了知乎专栏好软发现中,https://zhuanlan.zhihu.com/iappi,有知友提供了一个更简单有效的方法,经过测试果然有效,因此也记录下了作为笔记。

图1.知乎文章知友的评论

原文链接在消除CNZZ.站长统计代码被Chrome浏览器警告的操作 – 知乎 

经提示,相应的网站页面在HTML 5 <script> async 属性 中有详细的描述,引用如下:

脚本将会异步运行:

<script type="text/javascript" src="demo_async.js" async="async"></script>

定义和用法

async 属性规定一旦脚本可用,则会异步执行。

注释:async 属性仅适用于外部脚本(只有在使用 src 属性时)。

注释:有多种执行外部脚本的方法:

  • 如果 async=”async”:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
  • 如果不使用 async 且 defer=”defer”:脚本将在页面完成解析时执行
  • 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本

而这时候再回头审阅一下原文中修改的代码:


则其实也发现了这个代码实际上也是调用了 async 的属性来进行异步运行,只是语句较多了一点。最关键代码应该是这行:

cnzz_s_tag.async = true;

既然如此,那是条条大路通罗马了。

立马修改相应的CNZZ统计代码如下:

<script type="text/javascript" src="https://w.cnzz.com/c.php?id=XXXXXXX" async="async"></script>

把相应的代码依然插入到页脚工具中。对比下CNZZ的后台统计页面:

图2.修改前CNZZ统计后台访问明细页面
图3.修改后刷新CNZZ统计后台访问明细页面

可见已经记录了相应的访问日志,说明该统计代码是生效的,并且该代码也是在原CNZZ的统计代码基础上

<script type=”text/javascript” src=”https://s96.cnzz.com/z_stat.php?id=XXXXXXX&web_id=XXXXXXX”></script>

修改了调用的PHP文件,增加了 async 属性。

或许下次可以尝试下直接使用原统计代码不修改PHP文件的URL地址,直接调用了,应该也会成功的。

如上的记录其实就想说明一件事情,很多时候需要不断的学习,可能存在一个定义、调用就可以解决一大段的问题的。这需要系统而全面的学习,只能说现在的基础太薄,几乎是从零开始。可以提升的地方太多。