javascript - Angular 翻译 sanitizer /转义

标签 javascript angularjs sanitization angular-translate

我有一个奇怪的或者可能是预期的 Angular 转换行为。
我们的值(value)战略是

$translateProvider.useSanitizeValueStrategy('sanitize');

我们在我们的应用程序中主要使用翻译过滤器,但是当涉及到特殊字符时,我们得到例如 Überschrift 之类的 Ü ;berschrift。< br/> 如果我使用该指令,它会起作用。
如果我使用过滤器,这仅在清理策略设置为“转义”时有效。

除了将所有翻译过滤器重写为指令之外,还有其他解决方案吗?

这是我的 plnkr http://plnkr.co/edit/QIMVQcyH5APeYxNnS82v

供您引用, 我不能简单地使用“转义”策略,因为我们也使用 Angular 翻译变量,这些变量有时甚至包含 html 标签。

谢谢!

最佳答案

使用sanitizeParameters 而不是sanitize。这是固定的 plnkr:http://plnkr.co/edit/qicVqPXn3qo6hMNa1fY2?p=preview

(编辑:2016 年 7 月 10 日):两种清理策略之间存在显着差异。 sanitizeParameters 清理插值参数而不是翻译后的输出。这意味着它不允许更改这些参数,但翻译后的内容仍然容易受到攻击,因为它没有经过清理。

sanitize 和 UTF-8 字符的问题是一个已知问题,我相信它正在解决中。

关于javascript - Angular 翻译 sanitizer /转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33121843/

相关文章:

php - 如果输入有 html,则清理用户输入

javascript - 如何使用 Polymer 2 在 Firefox 上的 Web 组件中捕获指针事件?

javascript - Electron 无法读取未定义的属性 getName

javascript - 为什么在第一个 if 语句为 true 后,我的第二个 if 语句连续运行两次?

css - angular-ui-grid 无法在嵌套的 ui-view 中正确呈现

javascript - 将对象 ID 传递到 session 存储

javascript - 如何使用 CSS 创建一个三 Angular 形 div,它在单击时会消失,但在单击 'overflow' 部分时不会消失?

javascript - 使用另一个 ng-click 覆盖点击(例如 ng-click)

sanitization - HTML Purifier 对于评论系统来说太慢了吗?有更好的选择吗?

css - 如何接收和显示带有样式表的 HTML 电子邮件?