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

BootStrap 4 加载外部HTML作为Modal内容报错如何解决

问题解决指南

报错核心原因

你遇到的load is not a function报错90%以上是因为引入了jQuery Slim版本:Bootstrap 官方默认提供的配套jQuery slim版裁剪了AJAX相关功能,load()方法属于被裁剪的范围,所以无法调用。除此之外还可能存在依赖引入顺序错误、属性使用不规范的问题。

分步解决步骤

1. 修正依赖引入

  • 替换页面中的jQuery slim版为完整版,注意引入顺序不能出错:
<!-- 第一步引入jQuery完整版 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- 第二步引入Bootstrap 4的JS文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>

注:bootstrap.bundle.min.js已内置popper.js,无需额外单独引入

2. 修正按钮属性

button元素本身不支持原生href属性,同时要移除自带的modal触发属性避免和自定义JS冲突,修改后的按钮代码如下:

<button class="signup btn btn-outline-success my-2 my-sm-0" type="button" data-href="contact.html">Sign Up</button>

3. 替换JS逻辑

调整执行顺序,先加载内容再显示模态框,避免重复触发modal初始化:

$('.signup').on('click', function(e){
  e.preventDefault();
  const targetPage = $(this).data('href');
  // 先把目标页面内容加载到模态框容器,加载完成后再弹出模态框
  $('#theModal .modal-content').load(targetPage, function() {
    $('#theModal').modal('show');
  });
});

额外排查点

如果修改后还是显示空白,打开浏览器控制台的网络(Network)标签,确认contact.html的请求状态为200,且文件路径和home.html同级、无拼写错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:09:04