前期也有介绍过为了统计访问量等数据,在全站加上了CNZZ站长统计的代码,详见www.iappi.cn程门立学.添加站长统计代码记录 ,但是很快就发现有个问题了。就是在chrome浏览器下或者国内浏览器,例如QQ浏览器、360浏览器等极速模式下会存在几个警告。虽然网络正常,也没有影响到https的页面的展示,但还是觉得需要处理。毕竟浏览器已经警告了,不能视而不见。

初步看了下一共6个警告,2个来自站长统计,4个来自360搜索自动推送代码。6个警告都是阻止跨站解析器阻断脚本通过document.write调用(A parser-blocking, cross site script,XXXX.js is invoked via document.write.),大概警告的内容是:

A parser-blocking, cross site (i.e. different eTLD+1) script, <URL>, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See <URL> for more details.
z_stat.php?id=XXXXXXXX&web_id=XXXXXXXX:17 A parser-blocking, cross site (i.e. different eTLD+1) script, https://c.cnzz.com/core.php?web_id=XXXXXXXX&t=z, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.

初步翻译下是:一个跨站解析器阻断脚本XXXX.js通过document.write调用,如果设备的网络连接较差,该脚本的网络请求可能会被浏览器在此页面或未来页面加载中被阻止。

上网查了下跨站的document.write调用警告,大概发现原因有:
Chrome 55版本开始干预“通过document.write插入的跨站解析器阻断脚本”的加载,提升页面加载速度。
根据网站上的表述,对于诸如2G之类的连接速度较慢的用户来说,通过document.write加载的第三方脚本,性能损失通常非常严重,以至于主页内容的显示会延迟数十秒。
在浏览器呈现页面之前,必须通过解析HTML标记来构建DOM树。无论何时解析器遇到脚本,它都必须停止并执行脚本,才能继续解析HTML。如果脚本动态插入另一个脚本,解析器将被迫等待更长时间才能下载资源,这可能会导致一次或多次网络往返并延迟首次呈现页面的时间。

Chrome从第55版开始代表所有用户进行干预,具体来说,当满足以下所有条件时,Chrome将不执行通过document.write()插入的<script>元素:

  • 慢速网络下,特别是使用2G网络,有可能某些3G下。
  • Document.write()在Top层文档中。
  • Document.write()中的脚本是解析器阻断脚本。不过有“异步”或“延迟”属性的脚本将正常运行。
  • 该脚本不是托管在同一站点上。类似于http://iappi.cn调用了http://cnzz.com的代码脚本。
  • 该脚本没有缓存,缓存中的脚本会继续运行。
  • 该页面的请求不是重新加载。如果用户触发了重新加载Chrome不会干预,会像平常一样执行页面。

但是既然警告了的话,也不好直接就不用CNZZ的统计了,而且也还是警告而已。更何况,网上也有资料给出了解决的方案,就是将代码更改成异步代码。
原普通统计代码:
<script type=”text/javascript” src=”https://s96.cnzz.com/z_stat.php?id=XXXXXXXX&web_id=XXXXXXXX”></script>

更改后的异步代码:<script>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=XXXXXXXX&async=1’;var root_s = document.getElementsByTagName(‘script’)[0];root_s.parentNode.insertBefore(cnzz_s_tag, root_s);</script>

注意将id=XXXX这段改成对应的统计ID,避免无法生效。
在后台把对应的代码进行替换后刷新,发现CNZZ统计的警告已经消失,只剩下360搜索的警告了。说明基本上已经完成了第一步,下一步则是看统计是否依然准确了,有待于明天继续检验。

下一步在看怎样优化360的推送代码,或者直接干掉了。毕竟360的代码有时候延迟接近8s多,严重的影响网页的打开速度了。推送了这么久,也仅仅收录了2个页面。
参考资料: https://zhuanlan.zhihu.com/p/37978427

更多:

消除CNZZ.站长统计代码被Chrome浏览器警告的操作​www.iappi.cn

QQ浏览器该站点长时间无响应_消除CNZZ.站长统计代码被Chrome浏览器警告的操作...相关推荐

  1. QQ浏览器该站点长时间无响应_图解浏览器的基本工作原理

    前言 可能每一个前端工程师都想要理解浏览器的工作原理. 我们希望知道从在浏览器地址栏中输入 url 到页面展现的短短几秒内浏览器究竟做了什么: 我们希望了解平时常常听说的各种代码优化方案是究竟为什么能 ...

  2. pip安装librosa或audioread长时间无响应

    环境:python3.6 公司内网pip安装librosa长时间无响应,其实是卡在了依赖audioread上,如果等得足够耐心就会等到如下报错: Could'n find index page for ...

  3. ArcGIS 注册版本长时间无响应处理案例

    最近碰到一些客户注册版本长时间无响应的情况,现将解决步骤记录一下: 症状详细描述: 这些用户要注册的都是包含比较多图层的数据集,都是长时间无响应,几个小时,甚至10-20个小时. 如果此时杀掉Desk ...

  4. WebSphere部署失败浏览器卡死或长时间无反应

    背景 Was应用部署失败后,造成浏览器上的控制台界面卡死或长时间无反应,刷新后无法访问控制台界面,这时就需要手工清理当前部署失败的应用 手工清理Was应用的步骤 进入当前所使用的概要文件的目录,如当前 ...

  5. 生产环境Redis连接,长时间无响应被服务器断开问题

    上个月线上生产环境有几个接口出现异常响应,查看生产日志后发现,如下错误 线上Redis客户端使用的是SpringBoot默认的Lettuce客户端,并且没有指定连接池,connection reset ...

  6. jedisPool.getResource()方法长时间无响应并且不报错

    一个Java Web的系统需要动态根据Redis地址获取数据,截取相关代码如下: 获取连接的方法: public static JedisCluster getConn(String host, in ...

  7. win11安装SolidWorks激活时闪退,长时间无响应

    在win11系统上安装完solidworks后单击激活软件SW2010-2016.Activator.GUI.SSQ,这时会出现两种状况: 激活软件闪退 激活软件长时间没有反应 这两种错误有时会出现1 ...

  8. 被远程机器长时间无响应 (错误码:[308])_自动折叠式“Rollbot”为完全不受束缚的软机器人铺平了道路...

    如今,大多数软机器人依靠外部电源和控制,使它们与车外系统连接或用硬件组装.现在,来自哈佛大学约翰·保尔森工程与应用科学学院(SEAS)和加州理工学院的研究人员开发了受折纸结构启发的软机器人系统,可以根 ...

  9. qq飞车登录服务器未响应,QQ飞车:玩家长时间没有登录游戏,回归之后账号被回收了?...

    原标题:QQ飞车:玩家长时间没有登录游戏,回归之后账号被回收了? 相信大家对于QQ飞车这款游戏都非常熟悉吧,虽然上线的时间并不长,不过人气却非常高,也是赛车游戏中为数不多比较火热的一款游戏了.游戏中的 ...

  10. php到期自动过期,PHP实现页面长时间无操作,自动过期函数

    PHP实现页面长时间无操作,自动过期函数 发布于 2015-01-13 19:55:41 | 878 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...

最新文章

  1. C++ STL的sort 函数 以及自定义的比较函数
  2. HTML5学习之语义化标签
  3. pyrealsense2 sensor.get_supported_options()(获取当前sensor支持的参数)
  4. 机器学习-算法背后的理论与优化(part7)--随机梯度下降法概述
  5. oracle查询最高一条记录,oracle 查询已有记录,上一条记录,下一条记录
  6. 用MS SQL Server事件探查器来跟踪数据库的操作
  7. Luke的各版本下载
  8. 简析GeoServer服务的内部文件组织以及GeoServer自动化服务发布工具的开发思路
  9. Flutter打包apk中的一些巨坑
  10. 高阶篇:4.4)FMEA手册的疑问与不足(个人观点)
  11. jetson nano 人体姿态识别
  12. wince车机刷carplay_WINCE 使用 CarPlay,老唐开新花
  13. jar解压war文件失败
  14. 计算机word和excel的基础知识,计算机Word、Excel及部分基础知识
  15. 服务器主机防护系统有哪些,什么是DDoS防护主机?
  16. SecureCRT串口调试工具配置
  17. 2021年「博客之星」参赛博主:smileNicky投票
  18. h3c服务器设置管理ip配置文件,H3C 开局设置
  19. codeforces E. Sum of Digits
  20. excel电子表格插件_电子表格的美好时光

热门文章

  1. ROS教程(一):ROS安装教程(详细图文)
  2. Web前端页面劫持和反劫持
  3. 机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法.docx
  4. 即时通信聊天工具的原理与设计
  5. excel使用教程_Office办公软件(word、ppt、excel)视频教程(更新)
  6. 最新emoji表情代码大全_2020最新版早上好问候图片大全 表情
  7. 硬原理——DC-DC升压(BOOST)电路原理
  8. android 1s,android 与 小米1S刷机学习
  9. Jmeter下载及安装方法
  10. java拼接sql字符串