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

发布于 2022-09-01 23:59:35 字数 283 浏览 18 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温柔嚣张 2022-09-08 23:59:35
(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路径即可

尽揽少女心 2022-09-08 23:59:35

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

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

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

还在原地等你 2022-09-08 23:59:35

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

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>
回忆追雨的时光 2022-09-08 23:59:35

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

御守 2022-09-08 23:59:35

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文