我正在尝试编写一个小测试来测试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();
}
})();
答案 0 :(得分:1)
在脚本加载之前,你不会等待。
script.onload = function(){
// do whatever
};