动态加载后无法正常访问jQuery?

时间:2017-04-06 13:35:58

标签: javascript jquery

我正在尝试编写一个小测试来测试jQuery,如果不存在,则动态加载一个副本,以便脚本可以运行。如果还有其他任何东西也使用$,则设置为没有冲突,然后运行脚本 - 一个小菜单。

然而,在实际测试时,这个jQuery是从脚本加载的,但是无法执行:“jQuery没有定义。”

我知道jQuery必须先在任何使用它的函数之前出现,但在动态安装时有没有办法解决这个问题?

(function() {
    console.log("Loaded");
   if(!window.jQuery) {
       var script = document.createElement('script');
       script.type = "text/javascript";
       script.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js";
       document.getElementsByTagName('head')[0].appendChild(script);
       jQuery.noConflict(); 
   }
})();

1 个答案:

答案 0 :(得分:1)

在脚本加载之前,你不会等待。

 script.onload = function(){
     // do whatever
 };