js动态加载script文件

在很多时候我们都会用到动态加载js文件的功能。比如我的博客在首页中不需要加载第三方的多说评论插件,而在文章页则需要加载。再比如在文章页会加载打赏插件功能等等,都使用的是动态加载script文件的功能。
可见动态加载js在工作中是非常常见的功能,它能极大的提升我们网站的性能和响应速度。目前也有一些主流的框架采用动态加载js的做法,如RequireJS和Dojo加载js,AngularJS,Extjs等。那么它们是如何做的呢?
通常有4中方法来实现动态加载js脚本(前3中都是异步的):
1、直接document.write 

<script language="javascript"> 
    document.write("<script src='xttblog.js'></script>"); 
</script> 

2、动态改变已有script的src属性 

<script src='' id="xttblog"></script> 
<script language="javascript"> 
    xttblog.src="xttblog.js" 
</script> 


3、动态创建script元素 

<script> 
    var head = document.getElementsByTagName('HEAD').item(0),
    script= document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src="xttblog.js"; 
    head.appendChild( script); 
</script>

 
4、原理:用 XMLHTTP 取得要脚本的内容,再创建 Script 对象。
这种做法太复杂,我推荐大家使用jQuery框架的功能来加载。如下:

jQuery.getScript("/path/xttblog.js", 
    function(data, status, jqxhr) { 
    /*  
     *做一些加载完成后需要执行的事情 
     *当加载完成后你可以在回调函数里执行后续操作
     */   
    }
);
jQuery.ajax({ 
    url: "/path/xttblog.js", 
    dataType: "script", 
    cache: true //进行缓存
}).done(function() { 
    /*加载成功回调函数*/  
}).fail(function() { 
    /*加载失败回调函数*/ 
}; 


如果你不想使用缓存,可以设置cache:false,或者在url上加时间戳。
原文地址:http://www.xttblog.com/?p=384

js动态加载script文件

: » js动态加载script文件

原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/251131.html

(0)
上一篇 2022年5月2日
下一篇 2022年5月2日

相关推荐

发表回复

登录后才能评论