修改百度代码为延迟加载,不影响网站加载速度。
有时候百度网站统计代码会影响我们的网站加载速度,尤其是当服务器或虚拟主机带宽小的情况下更是苦不堪言。
所以今天对百度网站统计代码下手了,以下是效果截图。
首先创建了一个名为loadBaiduStatistics的函数,该函数用于加载百度统计代码。
在函数中,创建了一个新的<script>元素,并将其src属性设置为百度统计代码的URL。
接下来获取页面中的第一个<script>元素,并将新创建的<script>元素插入到其之前,以确保百度统计代码在页面加载完毕后加载。
然后使用条件语句来检测浏览器是否支持addEventListener方法。如果支持,则将loadBaiduStatistics函数添加为load事件的监听器。
如果浏览器不支持addEventListener方法,再次检测是否支持attachEvent方法。如果支持,则将loadBaiduStatistics函数添加为onload事件的监听器。
如果浏览器都不支持上述两种方法,将loadBaiduStatistics函数赋值给window.onload属性。
这样,当页面加载完毕后,会触发相应的事件或属性,从而延迟加载百度统计代码。
这是完整的第一段代码:
<script> function loadBaiduStatistics() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?Your Baidu statistics code"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); } if (window.addEventListener) { window.addEventListener("load", loadBaiduStatistics, false); } else if (window.attachEvent) { window.attachEvent("onload", loadBaiduStatistics); } else { window.onload = loadBaiduStatistics; } </script>
这段代码在页面加载完成后,通过监听window.onload事件来触发加载百度统计的脚本。这意味着当页面的所有资源(包括图片、样式表等)都加载完成后,才会执行加载统计脚本的操作。这样可以确保页面的所有内容都已经完全加载,但可能会延迟统计脚本的加载。
这是完整的第二段代码:
<script> function loadBaiduStatistics() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?Your Baidu statistics code"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); } function deferBaiduStatistics() { if (window.addEventListener) { window.addEventListener("load", loadBaiduStatistics, false); } else if (window.attachEvent) { window.attachEvent("onload", loadBaiduStatistics); } else { window.onload = loadBaiduStatistics; } } if (document.readyState === "complete") { loadBaiduStatistics(); } else { deferBaiduStatistics(); } </script>
这段代码在页面加载完成后,首先判断document.readyState的值。如果为"complete",则直接加载百度统计的脚本;如果不为"complete",则通过deferBaiduStatistics函数来延迟加载百度统计的脚本。这样可以在页面加载完毕时立即加载统计脚本,但可能会在页面内容完全加载前执行统计脚本。
这是完整的第三段代码(百度官方代码):
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?Your Baidu statistics code"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
这段代码是直接将百度统计的脚本插入到页面中,无需等待页面加载完成。这样可以尽早加载统计脚本,但可能会在页面内容完全加载前执行统计脚本。
选择哪一段代码取决于具体的需求和网页加载的情况。如果希望在页面内容完全加载后再加载统计脚本,可以选择第一段或第二段代码;如果希望尽早加载统计脚本,可以选择第三段代码。
修改以上代码中的Your Baidu statistics code为你的百度统计代码即可。