javascript - 同步使用 getScript

原文 标签 javascript jquery ajax getscript

我正在编写一个需要广泛使用 getScript 的引擎。为了便于使用,我已经将它插入了自己的函数中,但现在我需要确保函数本身是同步的。不幸的是,我似乎无法让 getScript 等到它加载的脚本实际完成加载后再继续。在进行调用之前,我什至尝试将 jQuery 的 ajax asynch 属性设置为 false。我正在考虑使用 jQuery 的 when/done 协议(protocol),但我似乎无法理解将其放置在函数中并使函数本身同步的逻辑。任何帮助将不胜感激!

function loadScript(script){
//Unrelated stuff here!!!
$.when(
$.getScript(script,function(){
    //Unrelated stuff here!!!
})).done(function(){
    //Wait until done, then finish function
});
}

循环代码(根据要求):
for (var i in divlist){
        switch($("#"+divlist[i]).css({"background-color"})){
            case #FFF:
            loadScript(scriptlist[0],divlist[i]);
            break;
        case #000:
            loadScript(scriptlist[2],divlist[i]);
            break;
        case #333:
            loadScript(scriptlist[3],divlist[i]);
            break;
        case #777:
            loadScript(scriptlist[4],divlist[i]);
            break;
    }
}

最佳答案

这对我有用,可能会对你有所帮助。

$.ajax({
    async: false,
    url: "jui/js/jquery-ui-1.8.20.min.js",
    dataType: "script"
});

基本上,我只是绕过了简写符号并添加到 async: false

关于javascript - 同步使用 getScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783046/

相关文章:

javascript - 如何从多行的tsv文件访问数据

javascript - 我可以将 .On() 与 jquery .Hide() 一起应用以隐藏新添加的内容吗

javascript - JqueryUI(Ajax)Hide()有效,Show()不起作用

javascript - 我如何重定向到 json 请求类型的任何其他页面?

javascript - 使用 IndexOf 拆分数组不起作用

javascript - 当请求来自页面外部时,为什么window.load无法正常工作,否则可以正常工作吗?

jquery - D3 Collapsible Tree 只拖不缩放和跳转滚动

javascript - Google云端硬盘上传的外部Javascript客户端授权

javascript - Summernote 在浏览器中输出代码而不是格式化文本

javascript - 元组类型的问题