最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用jQuery異步加載 JavaScript腳本解決方案

 更新時間:2014年04月20日 15:09:59   作者:  
這篇文章主要介紹了如何使用jQuery異步加載JavaScript腳本,需要的朋友可以參考下
JavaScript 加載器在 Web 開發(fā)中是非常強大和有用的工具。目前流行的幾個加載器,像 curljs、LABjs 和 RequireJS 使用都很廣泛。他們功能強大的,但有些情況下可以有更簡單的方案。

如果你正在使用 jQuery,有一個內(nèi)置的方法可以用來加載腳本。如果你想延遲加載插件或任何其他類型的腳本,都可以使用這種方法。下面給大家介紹如何使用它。

實現(xiàn)方法

jQuery 內(nèi)置有 getScript 方法來加載一個腳本,處理返回的結(jié)果可以有幾種方法來實現(xiàn)。最基本的用法 jQuery.getScript 看起來像這樣:
復(fù)制代碼 代碼如下:

jQuery.getScript("/path/to/myscript.js", function(data, status, jqxhr) {

/*
  在腳本已載入并執(zhí)行后,就可以做一些處理了
*/

});

getScript 方法返回一個 jqXHR 對象,因此可以這樣使用:
復(fù)制代碼 代碼如下:

jQuery.getScript("/path/to/myscript.js")
.done(function() {
/* 執(zhí)行成功后的處理 */
})
.fail(function() {
/* 執(zhí)行失敗后的處理 */
});

使用 jQuery.getScript 的最常見場景是延遲加載一個插件,并在加載后調(diào)用它:
復(fù)制代碼 代碼如下:

jQuery.getScript("jquery.cookie.js")
.done(function() {
jQuery.cookie("cookie_name", "value", { expires: 7 });
});

如果你需要做更高級的事情,如加載多個腳本和不同類型的文件(文本文件,圖像,CSS 文件等),我建議你切換到一個功能更強大的 JavaScript 加載器。如果只想延遲加載插件,而不是簡單地在每個頁面加載的情況下,getScript 是完美的!

緩存問題

需要注意的是,當(dāng)使用 jQuery.getScript 的時候,在腳本 URL 后面會自動被添加上時間戳,讓腳本不緩存。因此你需要設(shè)置讓所有的請求都緩存腳本:
復(fù)制代碼 代碼如下:

jQuery.ajaxSetup({
cache: true
});

如果您不希望覆蓋所有的緩存與你的 AJAX 請求,最好使用 jQuery.ajax 方法并把 dataType 設(shè)置為 script,例如這樣:
復(fù)制代碼 代碼如下:

jQuery.ajax({
url: "jquery.cookie.js",
dataType: "script",
cache: true
}).done(function() {
jQuery.cookie("cookie_name", "value", { expires: 7 });
});

在加載腳本的時候需要特別注意緩存問題!

相關(guān)文章

最新評論

桂林市| 湛江市| 越西县| 天长市| 阿图什市| 海阳市| 天峨县| 奎屯市| 合肥市| 应城市| 曲靖市| 盈江县| 甘德县| 尼勒克县| 中宁县| 南部县| 蓬安县| 东平县| 金坛市| 新绛县| 轮台县| 榆中县| 日土县| 新龙县| 咸丰县| 磐石市| 霍城县| 顺昌县| 乐亭县| 聂拉木县| 交口县| 乌苏市| 北票市| 黄龙县| 沂源县| 斗六市| 江陵县| 喀喇沁旗| 泸水县| 阳城县| 茂名市|