什么是Zepto相当于jQuery.getScript()?

时间:2011-12-19 02:10:09

标签: jquery zepto

什么是zepto相当于jQuery.getScript()?我需要用两个库动态加载JavaScript文件。

3 个答案:

答案 0 :(得分: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 );
    }
})($)

答案 1 :(得分: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撕掉的。

答案 2 :(得分: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请求。