3

jQuery.getScript() 的 Zepto 等价物是什么?我需要用这两个库动态加载一个 JavaScript 文件。

4

3 回答 3

7

这适用于 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 );
    }
})($)
于 2012-01-11T01:19:21.540 回答
3
;(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.

于 2012-07-18T16:17:43.070 回答
0

我一直在寻找同样的东西,我发现标准的 $.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 请求。

于 2012-04-30T14:12:45.517 回答