【发布时间】:2012-01-23 07:06:19
【问题描述】:
什么是 jQuery.getScript() 的 Zepto 等价物?我需要用这两个库动态加载一个 JavaScript 文件。
【问题讨论】:
什么是 jQuery.getScript() 的 Zepto 等价物?我需要用这两个库动态加载一个 JavaScript 文件。
【问题讨论】:
这个工程附加到 zepto.js!
;(function ($) {
$.getScript = function(src, func) {
var script = document.createElement('script');
script.async = "async";
script.src = src;
if (func) {
script.onload = func;
}
document.getElementsByTagName("head")[0].appendChild( script );
}
})($)
【讨论】:
;(function($){
$.getScript = function (url, success, error) {
var script = document.createElement("script"),
$script = $(script);
script.src = url;
$("head").append(script);
$script.bind("load", success);
$script.bind("error", error);
};
})(Zepto);
这部分内容来自Zepto.ajaxJSONP。
【讨论】:
我一直在寻找同样的东西,我发现标准的 $.ajax 调用将在 dataType === "script" 时评估响应。我将它实现为 Zepto 插件,如下所示:
(function ($) {
var getScript = function (url, callback, options) {
var settings = $.extend({
'url': url,
'success' : callback || function () {},
'dataType' : 'script'
}, options || {});
$.ajax(settings);
};
$.getScript = getScript;
}($ || Zepto));
它应该使用与 jQuery 版本相同的语法,除了我添加了 options (3rd) 参数以允许将任意选项传递给 ajax 请求。
【讨论】: