if (typeof $ == "undefined"){
console.log("$ is undefined. Adding javascript element to the document");
jQs = document.createElement("script");
jQs.type = 'text/javascript';
jQs.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(jQs, s);
// Run script once jQuery is loaded
console.log(" startScript() Start");
jQs.onload = startScript;
}
我有上面的脚本,如果 $ 未定义,它会添加一个指向 jquery 的脚本标记。我尝试在文档开始之前插入标签并执行 startScript 函数。但我认为发生的是 body.onload 触发 startScript 的速度不够快。这会阻止它的执行。一旦 jquery 脚本标签/文档准备好,是否有一个事件会触发 startScript?
我认为答案在于每当jquery标签准备好并且文档一起准备好时执行startscript..但我不知道如何实现效果..
请注意,将代码放入 $(document).ready() 是一个不相关的解决方案,因为如果脚本中没有包含 jquery 文件,它将 $ 未定义
另请注意,我不想在 jquery 标记 onload 事件上执行 onload 函数,因为这可能意味着该函数被多次触发