Sweet Alert弹窗显示TRUE而非配置的alert文本如何解决
问题原因
你引入的是2.x版本SweetAlert,该版本修改了HTML渲染相关的配置逻辑:
- 1.x版本中
html为布尔型配置项,设置为true时,弹窗会自动解析title、text字段内的HTML标签 - 2.x版本移除了
html的布尔开关设计,html字段直接接收字符串类型值,作为弹窗正文的HTML内容渲染。你代码中写的html: true会被转为字符串"true"渲染到正文区域,同时配置的text字段会被忽略,最终就出现正文显示TRUE的异常。

修复方案
优先推荐适配2.x版本API修改代码:删除布尔值的html配置项,把需要渲染的正文HTML内容直接传入html字段即可,修改后的核心触发代码如下:
$(document).on('click', '#rules', function(e) { swal({ title: '<b>Title</b>', html: '<b>Text</b>' }); });
修改后不需要调整原有脚本引入,点击按钮即可正常展示加粗的标题和正文内容。
如果你需要兼容原有1.x版本的写法,也可以把SweetAlert的引入资源替换为1.x最终稳定版的CDN地址,保留原有html: true的配置即可正常运行,但1.x版本已停止维护,不推荐长期使用该方案。
内容的提问来源于stack exchange,提问作者Pouya Vaghefi
相关产品推荐
相关产品推荐

