我有一个使用twitter bootstrap的网站。有时开发互联网不起作用,所以jquery不会被加载,我的网站将无法正常工作。这就是为什么我在js文件夹中有一个jquery的本地副本。我编辑了bootstrap文件,所以如果没有检测到jquery,浏览器会将jquery的位置从cdn更改为我的本地文件。我尝试这样做但它不起作用:这是我的代码:
if (!window.jQuery) {
document.getElementById('jq').src='../../js/jquery.js';
console.log("You are using a backup file of jquery provided by our website");
}
else{
console.log("jQuery has been succesfully loaded by kounelios13");
}
HTML:
<script src="http://code.jquery.com/jquery-1.11.0.min.js" id="jq"></script>
<script src="../../js/bootstrap.js" type="text/javascript"></script>
<script src="../../js/prefixfree.js" type="text/javascript"></script>
<script src="../../js/apps/rgba.js" type="text/javascript"></script>
这是放在bootstrap的js文件中。 任何想法???
答案 0 :(得分:2)
成像CDN文件不可用。然后浏览器开始加载下一个脚本文件(bootstrap.js
),解析器进入bootstrap.js
,你在那里放置了对jQuery的检查。您的代码检测到未加载jQuery,然后脚本会更改src
标记的jq
。它工作正常并且jQuery开始加载,但是浏览器不会等到jQuery被下载并继续运行Bootstrap,它会立即失败,因为它需要jQuery。因此错误。
您可以尝试使用此版本的备份jQuery库,而这应该是可靠的:
<script src="http://code.jquery.com/jquery-1.11.0.min.js" id="jq"></script>
<script>
if (!window.jQuery) {
document.write("<script src='../../js/jquery.js'>\x3C/script>");
}
</script>
<script src="../../js/bootstrap.js" type="text/javascript"></script>
<script src="../../js/prefixfree.js" type="text/javascript"></script>
<script src="../../js/apps/rgba.js" type="text/javascript"></script>
答案 1 :(得分:1)
使用jquery我不认为bootstrap脚本有效,所以你需要它。
如果您有互联网问题,那么您可以复制jquery链接并制作该文件并附加。
答案 2 :(得分:0)
对于Document,ID必须是唯一的,您有另一个使用ID jq
或无的ID。