本文介绍了一个名为DynamicLoad的原生javascript类,使用该类可以方便的加载脚本或者样式表文件,也可以判断是否已经加载了指定的文件。
目录:DynamicLoad类简介、属性、方法、事件、示例、下载。
DynamicLoad类简介
本文将为您介绍一个在javascript中可以动态加载js、vbs脚本和css样式表的DynamicLoad类DynamicLoad,加载原理分为3步:(1)使用document.createElement创建一个脚本或者样式表对象(以下称对象o);(2)设置对象o的属性;(3)将对象添加到document中去。使用DynamicLoad类,您可以方便的判断是否已经加载了脚本,动态加载脚本等操作。
DynamicLoad类中的属性
Self——对象自身(该属性为设计时使用,程序中请尽量避免使用该属性。)
DynamicLoad类中的方法
Load(src)——加载指定的文件。如果加载成功,引发OnLoaded事件;如果加载失败,引发OnFailed事件。您可以通过重载回调函数LoadedCallback和FailedCallback来执行加载对应的操作。
IsLoaded(src)——判断指定的文件是否已经加载完毕。
GetSrcType(src)——得到文件类型(即扩展名)
LoadedCallback(src)——文件加载成功后执行的回调函数。请重载该方法,以处理加载文件成功之后的操作。
FailedCallback(src)——文件加载失败后执行的回调函数。请重载该方法,以处理加载文件失败之后的操作。
DynamicLoad类中的事件
OnLoaded(src)——文件加载成功事件。
OnFailed(src)——文件加载失败事件。
示例:
下面的示例演示了如何判断文件是否已经被加载,以及如何动态加载文件。
<html>
<body>
<script language="javascript" type="text/javascript" src="DynamicLoad.js"></script>
<script language="javascript" type="text/javascript">
<!--
var dl=new DynamicLoad(); //初始化DynamicLoad对象
alert(dl.IsLoaded("DynamicLoad.js")); //判断是否已经加载了文件DynamicLoad.js
dl.Load("HttpCookie.js"); //加载HttpCookie.js
alert(dl.IsLoaded("HttpCookie.js")); //判断是否已经加载了文件HttpCookie.js。加载需要时间,一般情况下这里返回false;如果过一小段时间再判断,很可能返回true。
//-->
</script>
</body>
</html>
致谢:
本文参考了以下文章,感谢其作者的辛勤劳动。
《动态加载js文件的一个类》 水木无痕 http://hi.baidu.com/smvv21/blog/item/50156c0ef644bdcb7bcbe195.html
《动态加载外部css或js文件》 ddcat http://homepage.yesky.com/45/7728545.shtml
《JavaScript使用面向对象的技术创建高级 Web 应用程序》 Ray Djajadinata http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx
谢谢您看完本文,希望对您有所帮助。