第一种方法:
将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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)