今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下:
JsLoader.js
1 var MiniSite=new Object();
2 /**
3 * 判断浏览器
4 */
5 MiniSite.Browser={
6 ie:/msie/.test(window.navigator.userAgent.toLowerCase()),
7 moz:/gecko/.test(window.navigator.userAgent.toLowerCase()),
8 opera:/opera/.test(window.navigator.userAgent.toLowerCase()),
9 safari:/safari/.test(window.navigator.userAgent.toLowerCase())
10 };
11 /**
12 * JsLoader对象用来加载外部的js文件
13 */
14 MiniSite.JsLoader={
15 /**
16 * 加载外部的js文件
17 * @param sUrl 要加载的js的url地址
18 * @fCallback js加载完成之后的处理函数
19 */
20 load:function(sUrl,fCallback){
21 var _script=document.createElement('script');
22 _script.setAttribute('charset','gbk');
23 _script.setAttribute('type','text/javascript');
24 _script.setAttribute('src',sUrl);
25 document.getElementsByTagName('head')[0].appendChild(_script);
26 if(MiniSite.Browser.ie){
27 _script.onreadystatechange=function(){
28 if(this.readyState=='loaded'||this.readyStaate=='complete'){
29 //fCallback();
30 if(fCallback!=undefined){
31 fCallback();
32 }
33
34 }
35 };
36 }else if(MiniSite.Browser.moz){
37 _script.onload=function(){
38 //fCallback();
39 if(fCallback!=undefined){
40 fCallback();
41 }
42 };
43 }else{
44 //fCallback();
45 if(fCallback!=undefined){
46 fCallback();
47 }
48 }
49 }
50 };
JsLoader.js测试
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <!--引入js加载器 -->
5 <script type="text/javascript" src="js/JsLoader.js"></script>
6 <title>JsLoaderTest.html</title>
7 <script type="text/javascript">
8 if(MiniSite.Browser.ie){
9 //动态加载Js
10 MiniSite.JsLoader.load("js/jquery-1.9.1.js",function(){
11 alert("动态加载的是jquery-1.9.1.js");
12 $(function(){
13 alert("jquery-1.9.1.js动态加载完成之后做的处理操作");
14 });
15 });
16 }else{
17 MiniSite.JsLoader.load("js/jquery-2.0.3.js",function(){
18 alert("动态加载的是jquery-2.0.3.js");
19 $(function(){
20 alert("jquery-2.0.3.js动态加载完成之后做的处理操作");
21 });
22 });
23 }
24 </script>
25 </head>
26
27 <body>
28
29 </body>
30 </html>
测试结果如下:
IE浏览器下测试结果:
google浏览器下的测试结果:
标签:
JavaScript学习总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具