以下是我的HTML代码片段:
...
<script src=".../jquery.min.js"></script>
<script id="foo">
if (!window.jQuery) {
var jquery = document.createElement("script");
jquery.src = ".../jquery.min.js";
var self = document.getElementById("foo");
self.parentNode.insertBefore(jquery, self.nextSibling);
console.log("haha");
}
</script>
<script>
console.log("hehe");
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
第一个脚本标记是jquery CDN。 脚本标记的目的是id&#34; foo&#34;如果CDN失败,它会在加载以下引导程序js文件之前加载jquery文件的本地副本。
但是,在bootstrap js文件之前不会以某种方式执行插入的jquery文件。我尝试将console.log("wow")
放在该本地jquery文件中。控制台中的结果是"haha", "hehe", some error message from bootstrap js file, "wow"
。观察DOM,插入的jquery标记确实出现在"hehe"
脚本之前,我想知道为什么它没有以正确的顺序执行,是否有更好的方法来实现我的目标?