You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap 5导航栏下拉菜单Popper功能失效问题求助

解决Bootstrap 5.3下拉菜单报错:Uncaught TypeError: Popper__namespace.createPopper is not a function

核心原因

这个错误几乎都是Popper版本不兼容、引入方式错误或文件加载异常导致的。Bootstrap 5.3依赖Popper v2.x的UMD版本(该版本会暴露全局Popper__namespace对象),若加载的Popper版本不对、路径错误或文件损坏,就会触发该报错。

分步解决方案

1. 确认Popper版本与格式

  • Bootstrap 5.3必须搭配Popper v2.x,禁止使用v1.x或v3.x版本。
  • 下载Popper时,选择UMD格式的文件(通常命名为popper.min.js或popper.js),不要选ES模块版本(这类版本不会暴露全局对象)。

2. 检查文件加载状态

打开浏览器开发者工具(F12)→ 切换到「Network」标签,刷新页面:

  • 确认popper.js和bootstrap.js都能正常加载(状态码为200),没有404错误。
  • 若出现404,检查文件实际存放路径是否与HTML中引入的路径一致(比如是否确实放在js/文件夹下)。

3. 修正脚本引入方式

方式一:单独引入Popper + Bootstrap

确保引入顺序正确,且仅引入UMD版本的Popper:

<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>

方式二:使用Bootstrap Bundle文件

Bootstrap的bootstrap.bundle.js(或压缩版bootstrap.bundle.min.js)已内置兼容的Popper,无需单独引入Popper,直接替换为:

<script src="js/bootstrap.bundle.min.js"></script>

⚠️ 注意:使用bundle文件时,不要同时单独引入Popper,否则会引发版本冲突。

4. 清除浏览器缓存

浏览器可能缓存了旧的、损坏的JS文件,按Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,加载最新文件。

5. 排查脚本冲突

检查页面中是否存在干扰脚本:

  • 旧版本的jQuery(Bootstrap 5无需jQuery,引入可能引发冲突)。
  • 重复引入的Popper或Bootstrap文件。

6. 重新下载文件

若上述步骤均无效,可能是本地下载的Popper或Bootstrap文件损坏,重新下载对应版本的官方文件即可。

验证你的下拉菜单HTML

你的下拉菜单代码是正确的,包含了必要属性(data-bs-toggle="dropdown"、aria-expanded="false")和类名,无需修改。


内容的提问来源于stack exchange,提问作者tylerbryceobier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:55:29