#scriptLoad#
这是一个为了实现利用javascript载入其他javascript的项目
##引入##
在head里添加
<script type="text/javascript" src="scriptLoad.js"></script>既可以开始使用#方法&参数#
- scriptLoad.addTask(scriptType,scriptSrc,options)
- scriptLoad.run(options)
通过addTask 方法我们可以给scriptLoad添加一个载入任务
- scriptType
-
确定加载脚本的类型目前有javascript、css两种type
- scriptSrc
-
载入文件的路径重复的路径只会载入一次
- options
-
对载入脚本的详细配置参数有以下可选参数
- ver
- 这个参数会使脚本在载入的src后面添加一个?ver=[参数]用以刷新浏览器缓存
- callBack
- 这个参数会添加一个回掉函数当脚本加载完成时会自动调用这个函数
- validity
- 这个参数会添加一个预判函数在脚本加载前进行一个判断如果函数的返回值不为true加载不会进行
- rely
-
这个参数会表示此文件加载前需要加载另一个脚本此参数配置后加载列表会发生变化
添加此参数后除非依赖脚本成功加载否则不会进行当前文件的加载
此参数有两种写法
<dt><i>array [依赖脚本1,依赖脚本2]</i></dt> <dd> <p>rely后面输入一个数组数组的值作为<i>scriptSrc</i> 举例 {rely:['rely1.js','rely2.js']}</p> <p>此种写法会在rely1.js和rely2.js都加载完成后再进行原本的加载</p> </dd> <dt><i>object {依赖脚本1:{options},依赖脚本2:{options}}</i></dt> <dd> <p>rely后面输入一个对象对象的属性部分会作为<i>scriptSrc</i>属性的值部分会作为rely文件的<i>options</i> 举例 {rely:{'rely1.js':{'ver':'1.1'},'rely2.js':{'ver':'1.2'}}}</p> <p>此种写法会在rely1.js和rely2.js都加载完成后再进行原本的加载</p> <p>此种写还支持多级依赖</p> <pre>举例 { rely:{'rely1.js': {'ver':'1.1',rely:'rely2.js'} } } </pre> <p> 这种写法会导致加载完rely2 然后加载 rely1 然后加载原本文件 </p> </dd> </dl> </dd> </dl> </dd>
###scriptLoad.run(options)###
此方法执行后会开始加载所有的通过addTask()配置的加载任务
如果传入options配置所有addTask()添加时没有配置options都会被覆盖上run设置的options