自从升级了chrome后,无意中发现,控制台下总人烦人的提示,是CNZZ统计的.
看了下,当前的chrome 版本是: Version 56.0.2924.87
确切的说是警告,这个烦人的CNZZ内容提示如下:
A Parser-blocking, cross-origin script, http://s11.cnzz.com/stat.php?id=XXXXXX&show=pic, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity. See https://www.chromestatus.com/feature/5718547946799104 for more details.
(anonymous) @ (index):593
如下图所以示:
原统计代码如下图:
<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_2247638'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s11.cnzz.com/stat.php%3Fid%3D2247638' type='text/javascript'%3E%3C/script%3E"));</script>
示图如下:
错误原因是:页面渲染完成后使用了document.write()(cnzz统计代码引起的,chrome53以上版本会报错。)。
解决方案:将统计代码改为异步加载
新统计代码如下:(注意替换红色 xxx ID为自己的统计站在点ID)
<!-- cnzz stats -->
<script type="text/javascript">
var cnzz_s_tag = document.createElement('script');
cnzz_s_tag.type = 'text/javascript';
cnzz_s_tag.async = true;
cnzz_s_tag.charset = 'utf-8';
cnzz_s_tag.src = 'https://w.cnzz.com/c.php?id=XXXXX&async=1';
var root_s = document.getElementsByTagName('script')[0];
root_s.parentNode.insertBefore(cnzz_s_tag, root_s);
</script>
示图如下:
修改上传后: 再次查看,OK , 只有清爽, 没有烦人的提示了.
大功造成,mark 一下.
2017-03-27