许多站长会遇到一个问题,网站参加CNZZ的JS核算代码后,Chrome浏览器出现正告:阻挠跨站解析器阻断脚本通过document.write调用(A parser-blocking, cross site script,XXXX.js is invoked via document.write.)。该正告有时候或许会使HTTPS页面出现不安全要素,乃至让运用EV SSL证书的网站出现不显现绿色地址栏等问题。本文将带您找出过错原因,处理Chrome对CNZZ核算代码报错的问题。
该正告的具体内容
通过Chrome开发者东西检查器中(按F12检查console),能够查出网站是否存在这类正告(warnings)。在网络正常的情况下,这类报错不会影响HTTPS页面的展现,但是在网络衔接较差等情况下,资源加载或许会被阻挠,然后或许导致HTTPS页面出现不安全要素提示。
该正告的具体内容:
“A parser-blocking, cross site (i.e. different eTLD+1) script, https://s22.cnzz.com/z_stat.php?id=XXXX.js, 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.”
翻译过来就是:
“一个跨站解析器阻断脚本XXXX.js通过document.write调用,假如设备的网络衔接较差,该脚本的网络恳求或许会被浏览器在此页面或未来页面加载中被阻挠。”
为什么会出现正告?
谷歌从Chrome 55版别开端干涉“通过document.write刺进的跨站解析器阻断脚本”的加载,提高页面加载速度。
依据Chromestatus的表述,关于比如2G之类的衔接速度较慢的用户来说,通过document.write加载的第三方脚本,功用丢失一般十分严峻,以至于主页内容的显现会推迟数十秒。
在浏览器出现页面之前,有必要通过解析HTML符号来构建DOM树。不管何时解析器遇到脚本,它都有必要中止并履行脚本,才干继续解析HTML。假如脚本动态刺进另一个脚本,解析器将被逼等候更长时刻才干下载资源,这或许会导致一次或屡次网络往复并推迟初次出现页面的时刻。
Chrome从第55版开端代表一切用户进行干涉,具体来说,当满意以下一切条件时,Chrome将不履行通过document.write()刺进的
改写为异步核算代码:
请仿制以上代码,改写核算id后放置到需求核算的网站页面中,需求留意:添加好异步核算代码后,一定要删去本来的核算代码,不然核算数据会重复核算。
通过站点实测,更新异步核算代码后,Chrome对CNZZ核算代码的warnings现已消失,网站页面和核算功用都正常。剩余的一个warning是Chrome对百度商桥的SSL证书即将在赛门铁克证书制裁战略中失效的正告,不属于本文评论规模。
至此,Chrome对运用CNZZ核算代码的HTTPS页面报错的问题,就彻底处理了。假如您还有更多有关HTTPS的使用问题,欢迎联络沃通CA效劳支撑团队获取技术指导。沃通CA(www.wosign.com)继续供给全球信赖的SSL证书、代码签名证书和互联网安全使用产品,多年的职业经历堆集让沃通具有更专业的效劳才能,资深团队供给从售前到售后的全流程效劳,7×24小时效劳呼应、一对一技术指导,及时响使用户需求、处理用户问题。
转载请注明出处。