如何动态的加载js文件

如何动态的加载js文件,第1张

js文件最后加载有三种实现方法。

第一种方法

将js文件放在代码最后,因为程序是从上往下执行,所以最后加载。这种方法最简单粗暴。

第二种方法:

使用window.onload 事件。当一个文档完全下载到浏览器中时,才会触发window.onload事件。这意味着页面上的全部元素对js而言都是可以 *** 作的,也就是说页面上的所有元素加载完毕才会执行。这种情况对编写功能性代码非常有利,因为无需考虑加载的次序。

第三种方法:

使用jquery库的ready方法。如:$(document).ready{ }。会在DOM完全就绪并可以使用时调用。

注:

使用jquery库的ready方法,虽然这也意味着所有元素对脚本而言都是可以访问的,但是,并不意味着所有关联的文件都已经下载完毕。换句话说,当HMTL下载完成并解析为DOM树之后,代码就会执行。

使用$(document).ready(){ }一般来说都要优于试用onload事件处理程序,但必须要明确一点的是,因为支持文件可能还没有加载完成,所以类似图像的高度和宽度这样的属性此时不一定有效。

有三种方法可以实现,分别如下:

第一种、直接document.write:

<script language="javascript">

document.write("<script src='test.js'><\/script>")

</script>

第二种、动态改变已有script的src属性

<script src='' id="s1"></script>

<script language="javascript">

s1.src="test.js"

</script>

第三种、动态创建script元素:

<script>

var oHead = document.getElementsByTagName('HEAD').item(0)

var oScript= document.createElement("script")

oScript.type = "text/javascript"

oScript.src="test.js"

oHead.appendChild( oScript)

</script>

注意:第三种方法使用时,请注意路径。

如果需要用原生js动态的加载另外一个js文件,可以使用原生js的document.createElement方法创建script节点,然后更改该节点的type和src属性,最后通过appendChild方法将该节点动态添加到html中,这样就可以了,参考代码如下:

var new_element = document.createElement("script")//创建新的script节点new_element.setAttribute("type", "text/javascript")new_element.setAttribute("src", "../js/jquery.js")document.body.appendChild(new_element)//添加到body节点的末尾

上例中是在body的最末尾添加的,当然同样可以在head中添加引用该js的标签:document.head.appendChild(new_element)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12101799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存