网页如何延时引用JS文件,如何延迟加载JS文件

比如:我的网页中要引用名为“jhy.js”的JS文件。
我知道通常的写法如下:<script language="JavaScript" src="jhy.js" ></script>
但是我想让自己文件5秒钟之后再加载,如何实现?
网上找了很多相关代码,都没有实现5秒再引用这个js文件的功能。
请JS高手帮我写一个现成的代码,我真的写不出来,搞了一个上午了。

第1个回答  2015-10-09
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
        setTimeout(function(){ //延迟5秒
            var body = document.getElementsByTagName('body')[0];
            var scr = document.createElement('script');//创建一个script节点
            scr.setAttribute('src','test1.js'); //给script节点添加路径
            body.appendChild(scr);
        },5000);

</script>
</body>
</html>

追问

我这边试了一下,我的广告JS没有延迟加载,不对,不是没有延迟,是根本就没有加载成功。

追答

我这边试过了,test1是个alert, 结果弹出来了,你试试把秒改长点,看会弹出来吗

本回答被网友采纳
第2个回答  2015-10-09
<script language="JavaScript" id="jhyjs" src="" ></script>
<script type=”text/javascript”> 
setTimeout("document.getElementById(jhyjs).src='jhy.js';",5000);//延时5秒 
</script>

追问

这个上午我都试过了!不得,没有效果,都不知道你有没有亲自去试过。是不是直接复制网上的改一下ID然后就回答了?

追答

兄弟,这是最简单的延时加载。你不说目的、需求,我当然给你这个。
肯定的告诉你,如果你的js里面是一堆等待调用的函数,那么这个方法就是有用的。
如果你的JS里面,有变量,有初始化需求,这个还要延时加载,当然这样简单的方法不管用。你需要使用AJAX方法get下来并执行,代码比较复杂,如果使用了jQuery,就比较简单(因为这个集成了这个常用方法: $.getScript)。

第3个回答  2015-10-09
利用jquery的getScript配合计时器settimeout追问

能不能给出一个完整的代码啊?今天搞的我吃饭都吃不香,老是在想这个,JS延迟加载。

相似回答