首页 > 怎么让 统计代码 最后加载?

怎么让 统计代码 最后加载?


这是我网页的统计代码图!
情况是这样的
每次打开页面,都是它优先加载。
站长统计代码优先加载,其它JavaScript都得等它加载完才可以。
这样导致每次打开页面,我的轮播图隐藏溢出总是后执行。
5张轮播图成竖排显示,等站长统计代码加载完,就恢复正常了。


放在</body>之后</html>之前,如果还是要延迟那就写个延迟脚本,在动态创建script


既然你都知道统计脚本是个什么样的,那就把你的统计代码放在你生成轮播图的代码后面执行

function cnzzFun(){
    ....
}

function lunboFun(){
    ...
    cnzzFun();
}

借用 @xutongle 的代码 详细解释一下
原来统计代码的实现的功能就是添加一个script标签在当前文档的尾部。添加完成后,统计脚本的加载就会马上执行,所以其会在documentonReady前被执行.
现在的做法是把插入script代码放在一个函数中,再你想要调用的时候再执行~~

<script>
$(function(){
    //统计代码片段
    function cnzzFun(){
      var hm = document.createElement("script");
      //src按实际脚本地址修改  
      hm.src = "//s22.cnzz.com/stat.php%3Fid%3D4528288";
      var s = document.getElementsByTagName("head")[0]; 
      s.appendChild(hm);
    }
    
    //你的轮播图调用涉及的JS函数
    function lunboFun(){
        //你的轮播图调用代码
        //再执行统计代码脚本插入
        cnzzFun();
    }
});

</script>

如果没有轮播图函数,代码直接以内联的方式写的话

<script>
$(function(){
    //统计代码片段
    function cnzzFun(){
      var hm = document.createElement("script");
      //src按实际脚本地址修改  
      hm.src = "//s22.cnzz.com/stat.php%3Fid%3D4528288";
      var s = document.getElementsByTagName("head")[0]; 
      s.appendChild(hm);
    }
    
    //你的轮播图调用涉及的JS代码
    ...
    //执行统计代码脚本插入
    cnzzFun();

});
</script>

放到一个js文件里,然后给<script>设置async属性。

<script async src="xxx.js"></script>

页面加载完后在插入<script>,执行那一段代码。


(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();

把百度的JS路径换成你自己的JS路径即可


放在</body>之后</html>之前

【热门文章】
【热门文章】