gpt4 book ai didi

javascript - 为什么加载 bootstrap.js 两次会导致错误?

转载 作者:行者123 更新时间:2023-11-28 00:58:02 24 4
gpt4 key购买 nike

我正在使用summernote作为我的网络在线编辑器。但编辑器的某些部分(带有 Bootstrap 下拉类的按钮)不起作用。我终于发现加载 jquery.js 和 bootstrap.js 两次是问题所在(页面包含 header.php ,它已经加载了两个 js 文件)。 所以我对这个错误感到困惑。如果一个js文件被多次加载,而其他一些js文件依赖它,会发生什么?还有为什么jquery.js、jquery-ui.js和bootstrap.js并行下载时要按顺序加载呢?

最佳答案

好问题。发生这种情况的原因是因为您使用的编辑器已经包含这两个文件的已加载库。当您添加它们时,发生的情况是它们覆盖了预加载的第一个文件;重置窗口内的几个关键变量。由于它们被重置,使您的编辑器正常工作的事情失败了,导致多米诺骨牌效应并使您的程序崩溃。

编辑:我也阅读了更多有关这个主题的内容,因为它对我来说很有趣。在某些情况下,多个版本的 jQuery 会加载到文档中。一个例子是,如果有一组函数从一个版本到下一个版本被贬值,并且您发现它们很有用,那么这是拥有两个文件的正当理由。在这种情况下,您可能希望从一个库到另一个库使用 noConflict,以保持脚本内联,并且不让它们相互混淆,下面是一个快速引用示例:

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>

此外,如果您想了解有关 noConflict() 功能的更多信息,这里有一个很好的引用链接:

http://api.jquery.com/jquery.noconflict/

总而言之,我会避免使用多个完全相同版本的库。另外,为了帮助您在将来避免这种情况,如果您刚刚开始并且仅使用 javascript、html 和 css,我会推荐一个文本编辑器。这是您知道您正在使用的环境是什么,它允许您完全控制。这是一个好链接:

崇高文本:http://www.sublimetext.com/

关于javascript - 为什么加载 bootstrap.js 两次会导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25996191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com