Bootstrap下拉菜单本地运行正常但GitHub Pages上无法生效求助
问题原因
- 核心原因是Bootstrap下拉菜单依赖的JS资源加载失败:你本地测试时Jekyll会正确解析
{{ '/assets/js/xxx' | relative_url }}模板变量,且本地assets目录下存在对应JS文件,所以功能正常。部署到GitHub Pages后要么对应路径下的JS文件未同步上传到仓库,要么模板变量解析后的路径和仓库实际路径不匹配,导致浏览器无法加载到jQuery和Bootstrap的JS文件,下拉菜单无法触发。
排查验证方法
打开部署后的GitHub Pages页面,按下F12打开浏览器开发者工具,切换到「控制台」标签,查看是否有对应JS文件的404报错即可确认。
解决方案
方案1:补全本地资源
确认你的GitHub仓库根目录下存在assets/js/jquery-3.5.1.slim.min.js和assets/js/bootstrap.bundle.min.js两个文件,若缺失将本地对应路径下的两个文件提交推送到仓库即可,等待GitHub Pages构建完成后刷新测试。
方案2:替换为CDN资源
直接将原页面中两个本地JS引入的script标签替换为对应版本的CDN资源,避免路径解析问题:
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
修改后提交推送,等待构建完成即可恢复下拉菜单功能。
内容的提问来源于stack exchange,提问作者jacklee
相关产品推荐
相关产品推荐

