我建立了一个使用Bootstrap 4的自定义WordPress主题,它基于Roots Sage 8.6.0入门主题。所有主题脚本(包括Bootstrap)都被编译到main.js文件中。将main.js与jQuery作为依赖项进行排队。
您可以在这里看到它:https://www.patrickiverson.com/
由于错误状态,Bootstrap的脚本要求先加载jQuery,这似乎已经完成,并且已经通过查看源代码进行了验证。参见下文(我删除了所有CDATA,但这是从主页上的“查看页面源”中复制的)。 jQuery是第一个加载的脚本,而我的main.js是倒数第二个。
我仍然收到“ Uncaught TypeError:Bootstrap的JavaScript需要jQuery。在Bootstrap的JavaScript之前必须包含jQuery。”错误。它破坏了其他功能,例如自动隐藏导航栏和我的投资组合中的过滤器。
我也在使用Roots Soil 3.8.1插件,该插件具有将所有js移至页脚的功能。我已将其关闭并打开。我已经重新编译了主题脚本。我也卸载了各种插件。似乎没有什么可以消除该错误。
<script src="/wp-includes/js/jquery/jquery.js"></script>
<script src="/wp-includes/js/jquery/jquery-migrate.min.js"></script>
<script src="/wp-content/plugins/contact-form-7/includes/js/scripts.js"></script>
<script src="/wp-content/plugins/responsive-lightbox-lite/assets/nivo-lightbox/nivo-lightbox.min.js"></script>
<script src="/wp-content/plugins/responsive-lightbox-lite/assets/inc/script.js"></script>
<script src="/wp-content/plugins/wordfence/js/admin.ajaxWatcher.1560275180.js"></script>
<script src="/wp-content/plugins/wpcf7-redirect/js/wpcf7-redirect-script.js"></script>
<script src="/wp-content/themes/clean2019/dist/scripts/main-6b986a9ffc.js"></script>
<script src="/wp-content/themes/clean2019/dist/scripts/loadmore-158c6c3f18.js"></script>
我希望由于jQuery似乎首先被加载,因此Bootstrap不会引发此错误。预先谢谢你!
答案 0 :(得分:0)
将以下脚本添加到
的最后一行的index.html中<!-- jquery -->
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<!-- [/] jquery -->
<!-- bootstrap -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<!-- [/] bootstrap -->