当需要在js代码中引入新的js文件或者css文件,那么可以尝试一下这个方法!
/**
* 主要用于动态加载页面头文件。如ajax应用中动态加载JavaScript和CSS文件。
* loadHeadFile(filename, type)
* filename: 文件url(字符串)
* type: 文件类型,'js'或'css'(字符串)
*/
function loadHeadFile(filename, type){
var fileref; // 新头文件对象
var files; // 现有头文件
var attr; // 文件类型
switch(type){
case 'css': // 添加css文件
fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href",filename);
files = document.getElementsByTagName('head')[0].getElementsByTagName('link');
attr = 'href';
break;
case 'js': // 添加js文件
fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src",filename);
files = document.getElementsByTagName('head')[0].getElementsByTagName('script');
attr = 'src';
break;
}
for(var i = 0; i < files.length; i++){
if(files[i].getAttribute(attr).match(filename)){
return; // 如果已经载入,则不必再次载入
};
}
document.getElementsByTagName("head")[0].appendChild(fileref);
}
方法调用示例:
loadHeadFile("../../xedit/js.src/xedit.flow.js","js");