返回列表 发布新帖

动态加载JS和网站文件

IP属地:四川省成都市
261 0
发表于 2023-5-29 00:58:22 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
以下代码已测试。记录在此,做个备忘。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")[0].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即可。

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

908164873@Qq.com

让我们一起寻找开源的乐趣
加入QQ群把ヽ( ̄ω ̄( ̄ω ̄〃)ゝ
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 ROOT开源 版权所有 All Rights Reserved. 网站地图|仅供演示|仅供演示
关灯 在本版发帖 官方QQ群 QQ客服返回顶部
快速回复 返回顶部 返回列表