问题标签 [dompurify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2858 浏览

javascript - 如何在“dompurify”中允许一个 iframe 标签,包括它的所有属性

我想dompurify允许 iframe 标签,并添加iframe为异常(ADD_TAGS)。但这消除了它的一些属性。我希望所有属性都在那里。

这是经过消毒的输出

0 投票
1 回答
254 浏览

angular9 - 将自定义 DomSanitizer 与 Ivy 一起使用

我在 Angular 9 应用程序中使用 ng-dompurify,并且我用 NgDompurifyDomSanitizer 实现替换了默认的 Angular DomSanitizer。

这样在做类似的事情时

DomPurify 将用于清理该 HTML 字符串。

这在我不使用 Ivy 时效果很好,但是当我使用 Ivy 时,渲染的 HTML 会使用 NgDompurifyDomSanitizer 以外的东西进行清理。我不确定在这种情况下使用的是什么消毒剂,但我看到样式属性已从 html 元素中剥离,如果使用 NgDompurifyDomSanitizer 则不会发生这种情况。

我在这里整理了一个 stackblitz 示例来显示该问题:https ://stackblitz.com/edit/angular-domsanitizer-ivy 。如果您进入 stackblitz 设置并取消选中“启用常春藤”复选框,您可以看到文本呈现为红色,但是当它被选中时,内联样式被剥离并且文本为黑色。

我不确定我是否需要做一些特别的事情才能使这项工作与 Ivy 一起工作,或者 Ivy 是否不支持它。我整天都在用谷歌搜索试图弄清楚,但我没有任何运气。

我会很感激有人可能有任何见解。

编辑:对于那些感兴趣的人,这似乎是一个错误,我已经打开了一张票:https ://github.com/angular/angular/issues/36794

0 投票
1 回答
869 浏览

javascript - 如何渲染