未捕获的TypeError:$ .getScript(...)。done不是函数

时间:2019-02-01 09:26:41

标签: javascript jquery settimeout getscript

我在这里遇到了一个奇怪的情况。

以下代码有效:

// this code working perfectly

$.getScript( "https://wchat.freshchat.com/js/widget.js" ).done(( script, textStatus )=>{
    // run something
});

但是如果我将整个代码放在setTimeout中,它将在browser console中给出错误

// this will give error in browser console

setTimeout(()=>{
    $.getScript( "https://wchat.freshchat.com/js/widget.js" ).done(( script, textStatus )=>{
        // run something
    });
}, 4000);

,它将在error中给出browser console

enter image description here

出什么问题了?

2 个答案:

答案 0 :(得分:0)

将引导程序v4.0更新到v4.3.1时,存在相同的问题

代码示例:

`https://codepen.io/pasha-oleynik/pen/yWvjaQ?editors=1011`

要解决此问题,需要使用不带slim后缀的jquery。 (使用jquery-3.3.1.min.js代替jquery-3.3.1.slim.min.js)

答案 1 :(得分:-3)

也许您需要将此功能“导入”到其中:

setTimeout((getScript)=>{
    $.getScript( "https://wchat.freshchat.com/js/widget.js" ).done(( script, textStatus )=>{
        // run something
    });
}, 4000);