發(fā)文章
發(fā)文工具
撰寫(xiě)
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
動(dòng)態(tài)加載Javascript是一項(xiàng)非常強(qiáng)大且有用的技術(shù)。這方面的主題在本站已經(jīng)討論了不少,我也經(jīng)常會(huì)在一些個(gè)人項(xiàng)目上使用RequireJS和Dojo加載js。它們很強(qiáng)大,但有時(shí)候也會(huì)得不償失。如果你使用的是jQuery,它里面有一個(gè)內(nèi)置的方法可以用來(lái)加載單個(gè)js文件。當(dāng)你需要延遲加載一些js插件或其它類(lèi)型的文件時(shí),可以使用這個(gè)方法。下面就介紹一下如何使用它!
jQuery內(nèi)置了一個(gè)方法可以加載單一的js文件;當(dāng)加載完成后你可以在回調(diào)函數(shù)里執(zhí)行后續(xù)操作。最基本的使用jQuery.getScript的方法是這樣:
jQuery.getScript(
"/path/to/myscript.js"
,
function
(data, status, jqxhr) {
/*
做一些加載完成后需要執(zhí)行的事情
*/
});
這個(gè)getScript方法返回一個(gè)jqxhr,你可以像下面這樣用它:
)
.done(
() {
/* 耶,沒(méi)有問(wèn)題,這里可以干點(diǎn)什么 */
})
.fail(
/* 靠,馬上執(zhí)行挽救操作 */
最常見(jiàn)的使用jQuery.getScript的地方是延遲加載一個(gè)js插件,而且在加載完成時(shí)執(zhí)行它:
"jquery.cookie.js"
jQuery.cookie(
"cookie_name"
"value"
, { expires: 7 });
如果你需要更高級(jí)的功能,比如加載多個(gè)腳本,或加載不同類(lèi)型的文件(文本文件,圖片,css等),我建議你使用一個(gè)專(zhuān)門(mén)的JavaScript加載工具。如果是為了延遲加載一個(gè)js插件,避免每個(gè)頁(yè)面都去加載,這個(gè)getScript很完美了。
有一個(gè)非常重要的問(wèn)題,使用jQuery.getScript時(shí),你需要用一個(gè)時(shí)間戳字符串跟在需要加載的js地址后面,防止它被緩存。但是,如果你希望這個(gè)腳本被緩存,你需要設(shè)置全局緩存變量,像下面這樣:
jQuery.ajaxSetup({
cache:
true
如果你并不想使用全局緩存變量,你也可以使用jQuery.ajax,并注明dataType是script:
jQuery.ajax({
url:
dataType:
"script"
}).done(
在加載腳本時(shí)一定要小心緩存問(wèn)題!
來(lái)自: 昵稱(chēng)10504424 > 《工作》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶(hù) 評(píng)論公約
jquery動(dòng)態(tài)加載JS【方法getScript】的改進(jìn)
jquery動(dòng)態(tài)加載JS【方法getScript】的改進(jìn)。這個(gè)方法是jquery自身提供的一個(gè)用于動(dòng)態(tài)加載js的方法。當(dāng)網(wǎng)站需要加載大量js時(shí),動(dòng)態(tài)的加載...
Jquery Ajax請(qǐng)求方法小結(jié)(值得收藏)
廢話少說(shuō),直接進(jìn)入正題,我們先來(lái)看一些簡(jiǎn)單的方法,這些方法都是對(duì)jQuery.ajax()進(jìn)行封裝以方便我們使用的方法,當(dāng)然,如果要處理復(fù)雜的邏輯,還是需要用到j(luò)Query.ajax()的(這個(gè)后面會(huì)說(shuō)到).jQuery代...
使用jquery的load方法加載html頁(yè)面,但是html引入的js不生效
使用jquery的load方法加載html頁(yè)面,但是html引入的js不生效。//js部分://當(dāng)前頁(yè)面的js文件<script src="../../js/carriage/ca...
引用CDN的方法
接下來(lái),我們繼續(xù)簡(jiǎn)化加載本地腳本的代碼,當(dāng)jQuery成功加載到頁(yè)面中,它會(huì)創(chuàng)建一個(gè)全局的jQuery變量,我們可以通過(guò)window的jQuery屬性...
jquery js 動(dòng)態(tài)加載 js文件
jquery js 動(dòng)態(tài)加載 js文件。如果用jquery append直接加載script標(biāo)簽的話,會(huì)報(bào)錯(cuò)的。除了document.write外,還有沒(méi)有其他的比較好的動(dòng)態(tài)加載js文件的方法。
jQuery中Ajax+Spring MVC實(shí)現(xiàn)跨域請(qǐng)求
jQuery中Ajax+Spring MVC實(shí)現(xiàn)跨域請(qǐng)求。jQuery對(duì)跨域請(qǐng)求有兩種解決方案分別是jQuery的jquery.ajax jsonp格式和jquery.getScript方式,而且這兩種方式都只支持get方法。這里主要談的是jsonp跨域的實(shí)現(xiàn)。...
webdriver調(diào)用js在頁(yè)面加載jquery
webdriver調(diào)用js在頁(yè)面加載jquery.JQuery是js一個(gè)流行的優(yōu)秀框架,使用jquery會(huì)比使用js容易和方便很多,因?yàn)閖query提供了很多方便的方法,在webdriver中使用jquery進(jìn)行輔助有時(shí)候會(huì)方便很多。在使用JQ...
RequireJS 中文網(wǎng)
<script data-main="js/app.js" src="js/require.js"></script>requirejs.config({ //By default load any module IDs from js/lib baseUrl: ''js/lib'...
Chrome 插件開(kāi)發(fā),入門(mén)Demo
微信掃碼,在手機(jī)上查看選中內(nèi)容