Javascript运行时添加js/css,如何取得进展
我想在运行时添加css和Java脚本。在继续之前,我希望确保它们已加载,但无法找到如何检查添加文件的动态加载进度 这是我的加载脚本。我是否缺少一些基本的js函数,或者jQuery有什么功能Javascript运行时添加js/css,如何取得进展,javascript,jquery,Javascript,Jquery,我想在运行时添加css和Java脚本。在继续之前,我希望确保它们已加载,但无法找到如何检查添加文件的动态加载进度 这是我的加载脚本。我是否缺少一些基本的js函数,或者jQuery有什么功能 function loadFileRuntime(filename){ "use strict"; var fileType; var fileRef; var lastIndex = filename.indexOf("?"); if(lastIndex===0)
function loadFileRuntime(filename){
"use strict";
var fileType;
var fileRef;
var lastIndex = filename.indexOf("?");
if(lastIndex===0) {
fileType = filename.substr(filename.lastIndexOf(".") + 1);
}else{
fileType = filename.substring( filename.lastIndexOf(".")+1, lastIndex );
}
switch(fileType){
case "js":
fileRef = document.createElement('script');
fileRef.setAttribute("type","text/javascript");
fileRef.setAttribute("src", filename);
break;
case "css":
fileRef = document.createElement("link");
fileRef.setAttribute("rel", "stylesheet");
fileRef.setAttribute("type", "text/css");
fileRef.setAttribute("href", filename);
break;
}
if (typeof fileRef !== "undefined"){
document.getElementsByTagName("head")[0].appendChild(fileRef);
}
}
你为什么要这样做是我的第一个问题?对于JS文件,jQuery在这里有一个方法,可以用来在加载文件时执行回调。CSS通常需要更多的工作,因为加载的文件并不意味着它已经被计算出来了。但一种简单的方法是通过AJAX加载内容,并将其作为样式标记插入,这样可以给您另一个回调。也有为这项任务设计的库,有些可以在这里找到