我遇到了获取jQuery和amp;的问题Bootstrap.js加载和播放很好。我可以将它们放在标题中并且它们工作正常,但我有一个“母版页”,它可以加载3个子表单。因此,在每个表单上,我需要确保jQuery& Bootstrap.js已加载,但我无法重新加载或导致问题。
所以,我创建了一个jsfiddle,我用它来确保jQuery被加载,然后检查是否加载了bootstrap.js(如果不加载则加载它)。问题是jQuery检查后的代码似乎在jQuery完成加载之前执行,尽管试图延迟以确保它没有。
以下是代码:
if(typeof jQuery=='undefined') {
var headTag = document.getElementsByTagName("head")[0];
var jqTag = document.createElement('script');
jqTag.type = 'text/javascript';
jqTag.src = '//code.jquery.com/jquery-2.0.3.min.js';
jqTag.onload = myJQueryCode;
headTag.appendChild(jqTag);
} else {
alert('You are here')
myJQueryCode();
}
function yourFunctionToRun(){
//Your JQuery goodness here
}
function runYourFunctionWhenJQueryIsLoaded() {
if (window.$){
//possibly some other JQuery checks to make sure that everything is loaded here
myJQueryCode();
} else {
setTimeout(function() {runYourFunctionWhenJQueryIsLoaded()}, 50);
}
}
runYourFunctionWhenJQueryIsLoaded();
if(typeof jQuery=='undefined') {
alert('Houston we have a problem');
}
以下是jsfiddle
基于这个小提琴,警告窗口永远不应该打开,因为在加载jQuery之前它不应该达到。
非常感谢任何帮助。