这是我网页的统计代码图!
情况是这样的
每次打开页面,都是它优先加载。
站长统计代码优先加载,其它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>之前