动态加载JS和网站文件
以下代码已测试。记录在此,做个备忘。if{ //304代表页面无修改可以使用本地缓存。也可以用LoadPage来加载js,只要把func指定为eval即可。以下代码已测试。记录在此,做个备忘。
function LoadJs(newJS)//newJS为服务器js文件名
{
var oldjs = document.getElementById(newJS);
if(oldjs) oldjs.parentNode.removeChild(oldjs); //如要防止重复加载,则如此处理
var scriptObj = document.createElement("script");
scriptObj.src = newJS;
scriptObj.type = "text/javascript";
scriptObj.id = newJS;
//scriptObj.async = true; //如需异步加载则去掉注释
document.getElementsByTagName("head").appendChild(scriptObj);
}
function LoadPage(url,func) //url为任意服务器文件名
{
var xhr= new XMLHttpRequest();
xhr.open("GET", url,true); //true:异步模式,false:同步模式
//异步模式需要注册回调函数
xhr.onreadystatechange = function() {
if(xhr.readyState ==4 && (xhr.status==200||xhr.status==304)){ //304代表页面无修改可以使用本地缓存
func(xhr.responseText); //自定义func函数来处理接收的内容
}
};
xhr.send(null);
//同步模式直接返回数据
//func(xhr.responseText);
}
也可以用LoadPage来加载js,只要把func指定为eval即可。
页:
[1]