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

如何阻止TinyMCE删除包含JavaScript代码的a标签href属性

问题原因

TinyMCE 5.x版本默认开启了脚本类型URL的安全拦截规则,该规则独立于verify_html和extended_valid_elements配置,会默认移除所有href、src等属性中javascript:、vbscript:开头的脚本类链接,所以你之前的配置不会生效。

解决方法

在你的options配置项中新增allow_script_urls: true即可关闭该安全拦截规则,修改后的配置代码如下:

ngOnInit(): void {
  this.options = {
    extended_valid_elements: 'span[*],img[class,*],div[*],a[*]',
    verify_html: false,
    allow_script_urls: true, // 新增这一行配置
    paste_auto_cleanup_on_paste: true,
    paste_convert_headers_to_strong: false,
    paste_strip_class_attributes: 'all',
    convert_urls: false,
    style_formats: this.styles,
    content_css: this.content_css,
  };
}
注意事项
  • 开启该配置后富文本会允许插入任意脚本链接,存在XSS注入风险。如果你的富文本内容允许普通用户提交,建议上线前增加后端内容校验规则,只允许可信来源的脚本链接写入存储。
  • 如果配置后仍未生效,可从两个方向排查:
    • 检查是否引入了第三方TinyMCE过滤插件,或是项目内自定义了TinyMCE的内容预处理逻辑
    • 检查Angular的安全消毒机制是否对绑定的富文本内容做了拦截,可通过DomSanitizer对可信内容标记为bypassSecurityTrustHtml放行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:27:03