两种方法:
1、通过创建一个Script标签,添加到head中,设置src路径;
2、通过Ajax加载 js 文件,创建Script标签,添加到head中,设置Script的text属性为所加载 的js 文件的内容。
相同之处:都是异步加载 ;
不同之处:一个是设置src路径,一个是通过Ajax加载 内容然后设置text。
方法一:
function include(url){ ele = document.createElement("script"); ele.setAttribute("type", "text/javascript"); ele.setAttribute("src", url); document.body.appendChild(ele); }
方法二:
function include(url) { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("GET", url, false); xmlHttp.send(null); } function handleStateChange(){ if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { loadJS(); } } } function loadJS() { ele = document.createElement("script"); ele.setAttribute("type", "text/javascript"); ele.setAttribute("text", xmlHttp.responseText); document.getElementsByTagName('head').item(0).appendChild(ele); }
个人经验,推荐方法二。