Bootstrap Markdown原生不支持Bootstrap 4/5,仅兼容Bootstrap 2.x(v1.x)和3.x(v2.x);需严格匹配jQuery版本、图标库与本地化文件,初始化须统一用JS方式并正确配置watch、iconlibrary等参数。

直接用 bootstrap-markdown 是最省事的方案,但必须确认你用的 Bootstrap 版本和图标库是否匹配——不匹配会导致工具栏按钮消失或预览区错位。
确认 Bootstrap 和 jQuery 版本兼容性
bootstrap-markdown v2.x(对应 Bootstrap 3)和 v1.x(对应 Bootstrap 2)是两个不兼容的分支。当前(2026年)主流项目多为 Bootstrap 4/5,但该插件**原生不支持 Bootstrap 4+**,强行引入会丢失样式或 JS 报错 $.fn.modal is not a function。
- 如果你用的是 Bootstrap 3.3.7 + jQuery 1.10–3.6:可安全使用官方
bootstrap-markdown.js - Bootstrap 4/5 项目:必须改用
BootstrapBlazor.Markdown(Blazor)或换editormd(依赖 CodeMirror,不依赖 Bootstrap JS 组件) - CDN 引入时注意顺序:
jquery.min.js→bootstrap.min.js→bootstrap-markdown.js,缺一不可
初始化时 data-provide 属性和 JS 调用别混用
两种初始化方式不能同时存在,否则会重复绑定、光标错乱或预览区渲染两次。
- 仅用
data-provide="markdown":适合简单场景,但无法动态控制配置,比如language或previewable - 仅用 JS 初始化:
$('#editor').markdown({ language: 'zh', previewable: true }),推荐此方式,所有选项可控 - 错误写法:
+ 后续再执行$('#editor').markdown()→ 工具栏按钮变双份,输入延迟明显
中文本地化和图标库必须手动配对
即使引入了 locale/bootstrap-markdown.zh.js,如果没在初始化时指定 iconlibrary,中文按钮文字会出现但图标空白,或者显示成方块。
使用 SQLite FTS5 对结构化 Markdown 文档库进行全文搜索,适用于需要快速、高效搜索大量 Markdown 文章的场景。
- Bootstrap 3 默认用 Glyphicons:配置
iconlibrary: 'glyph',并确保bootstrap.min.css包含 glyphicons 字体 - 用 Font Awesome:加
iconlibrary: 'fa',且页面中必须已加载font-awesome.css(v4 或 v5 兼容,v6 不支持) -
language: 'zh'和language: 'zh-CN'效果不同——前者读取zh.js,后者会 fallback 到英文,务必核对文件名
预览区内容不更新?检查 watch 和 parser 配置
默认情况下,bootstrap-markdown 的预览是“静态渲染”,即只在失去焦点或点击预览按钮时更新。实时预览需额外处理。
- 启用自动刷新:加
watch: true参数(部分旧版本不支持,需 v2.10.0+) - 若仍不触发,检查是否禁用了
onPreview回调,或自定义了parser函数但未返回 HTML 字符串 - 常见坑:
previewable: false时,watch无效;placement: 'right'在窄屏下会被截断,建议用'bottom'
真正容易被忽略的是 resize 行为——resize: 'vertical' 在移动端完全失效,且在 Safari 中可能导致预览区高度塌陷。如非必要,保持默认 resize: 'none' 更稳妥。










