动态加载外部链接JS
2016-04-09 00:00
197 查看
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" content="text/html"> <title>面试题</title> </head> <body> <form action="" id="aForm"> <input type="checkbox" value="a.js"> <input type="checkbox" value="b.js"> <input type="checkbox" value="c.js"> <input type="checkbox" value="d.js"> <input type="submit" value="提交"> </form> <script type="text/javascript"> /* // 1.提交表单时按勾选的复选框加载外部JS // 2.当所有代码加载完成后alert("Done") */ var aForm = document.getElementById("aForm"); var theInputs = aForm.elements; var checkedNum = 0; var checkedJsSrc = new Array(); //禁止表单自动提交 aForm.onsubmit = function(){ return false; } //给提交按钮添加事件 for(i = 0; i < theInputs.length; i++){ if(theInputs[i].type == "submit"){ theInputs[i].onclick = function(){ for(j = 0; j < theInputs.length; j++){ if(theInputs[j].type == "checkbox" && theInputs[j].checked){ checkedNum++; checkedJsSrc.unshift(theInputs[j].value); } } loadJs(checkedNum); } } } //输出Done function sayDone(){ alert("Done"); aForm.submit(); } //加载外部JS function loadJs(aNum){ var domScript = document.createElement("script"); var loadJsNum = aNum; domScript.type = "text/javascript"; if(loadJsNum <= 1){ domScript.onloadDone = false; domScript.src = checkedJsSrc[0]; domScript.onload = function (){ domScript.onloadDone = true; sayDone(); } domScript.onreadystatechange = function(){ if(("loaded" === domScript.readyState || "complete" === domScript.readyState) && !domScript.onloadDone){ domScript.onloadDone = true; sayDone(); } } } else { domScript.onloadDone = false; domScript.src = checkedJsSrc[loadJsNum - 1]; domScript.onload = function (){ domScript.onloadDone = true; loadJs(loadJsNum - 1); } domScript.onreadystatechange = function(){ if(("loaded" === domScript.readyState || "complete" === domScript.readyState) && !domScript.onloadDone){ domScript.onloadDone = true; loadJs(loadJsNum - 1); } } } document.getElementsByTagName("head")[0].appendChild(domScript); } </script> </body> </html>
相关文章推荐
- jsp通过Cookie实现自动登录
- javascript 实现文件下载功能
- 知乎某处XSS导致刷粉-javascript的巧妙利用
- JavaScript中的自调用函数
- 原生javascript 实现 animate
- js第十二节-数组的方法
- 《JavaScript高级程序设计》——函数表达式
- 笔记练习:《Javascript入门经典(第5版)》page115_9.9_Practice
- js第十节-日期对象,网页时钟,倒计时
- javascript中replace与正则表达式
- js第九节-定时器的管理,函数封装
- js第八节-函数返回值,定时器基础
- JavaScript常用互动方法
- JavaScript之分之结构
- jsonp的简单原理
- js第七节-运算符,流程控制
- 解决 jsp:include 引用文件时出现乱码的问题
- 前端开发学习笔记04---JavaScript
- javascript动态在<div>中加载内容
- javascript内置对象