问题标签 [angular-dom-sanitizer]

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 投票
0 回答
383 浏览

angular - Angular Domsanitizer 不接受 url 并抛出错误

我正在尝试清理 url 以用作对象标记的数据属性以显示 svg。

我的.page.html

我的.page.ts

安全管道.ts

抛出错误:

管道工作正常,svg 很好(正确的位置和硬编码显示正常)你知道为什么 Domsanitizer 不接受这个资源 url 吗?谢谢

0 投票
1 回答
375 浏览

css - 清理和 [innerHTML] 后不应用样式

我有一张垫子桌:

表组件.ts

表组件.scss

当我检查表格单元格时,一切看起来都很好: 在此处输入图像描述

表格本身的最终结果:

在此处输入图像描述

我究竟做错了什么?

编辑:

好的,我发现问题出在模拟封装上。(我不想禁用)。如果我在组件模板中添加一个正常的跨度,它就可以正常工作,因为它看起来像这样:

在此处输入图像描述

我最初使用这种方法是因为某些单元格可以有很多项目,并且生成约 200(x 5 行)跨度的 ngFor 速度很慢(渲染表格需要约 2 秒)。所以我要么让 ngFor 更快,要么尝试让样式工作。

0 投票
1 回答
681 浏览

angular - bypassSecurityTrustHtml 在使用 [innerHtml] 显示 html 时禁用锚标记

我正在使用 Angular 10。我有一个场景来获取 html 字符串(富文本编辑器返回的值)并将其显示在我的应用程序中(使用innerHtml)。我将获得各种样式,例如背景颜色、字体颜色、突出显示文本、超链接等。

我正在使用bypassSecurityTrustHtml通过管道(代码如下),以便<styles>考虑标签。

现在的问题是,当我得到超链接文本时<a href="http://www.someurl.com> click here </a>,这些锚链接不起作用。因此,当我单击链接时,它不会打开href链接。

我见过像使用这样的解决方案bypassSecurityTrustResourceUrl。但我不能使用它,因为我无法从 html 内容中单独解析 url。

我还尝试使用其他 SO 问题中建议的以下两个功能,但它也无济于事..

[innerHtml]="myHtmlContent | keepHtml | keepUrl"

[innerHtml]="myHtmlContent | keepUrl | keepHtml" // tried to reorder the pipe still didn't work

有没有办法在使用 bypassSecurityTrustHtml 函数时使锚标记的 href 链接工作?

谢谢你的时间。

0 投票
1 回答
100 浏览

angular - 将 Angular Pipe 应用于 Angular 递归列表模板

我有一个使用 Pipe 的递归 Angular 模板,用于深度嵌套的对象数组,其中我有数据和子对象。我的问题是,只有在使用搜索功能时,我使用的管道会突出显示嵌套对象中搜索和找到的数据。DomSanitizer 有效,但它没有绕过安全性,我得到SafeValue must use [property]=binding。我尝试将其用作[innerHtml]="item.data | search:searchedData"但我只得到最高值而不是深度嵌套的子值。

我用于呈现嵌套数据的 HTML 模板。

我用来突出显示搜索数据的管道。

我得到的 html 值:

0 投票
1 回答
312 浏览

angular - 错误:在函数中使用“typeof CommonFunctions”类型时不存在属性“bypassSecurityTrustUrl”?

我想为函数中常用的语句构建一个通用类。

如果我在函数中使用这个关键字,我会得到错误。

0 投票
1 回答
362 浏览

angular - 使用 bypassSecurityTrustResourceUrl 给 SafeValue must use [property] in result

我正在尝试使用 bypassSecurityTrustResourceUrl 解析图像,但在输出中我得到了

如下图所示

在此处输入图像描述

这是我的代码

即使我想在 html 文件中使用它,我也收到以下错误

在此处输入图像描述

0 投票
0 回答
72 浏览

angular - 如何在角度中向数据属性添加多行

我在 Angular 项目中使用Quill Editor,我需要多行占位符。由于 Quill 通过呈现占位符,::before我认为实现这一点应该很简单,正如关于多行数据属性的 SA 问题中所指定的那样。

我通过 Json 从后端获取占位符:

当我将此作为placeholder这些“新行”的值时,指示符不会呈现为新行,而是呈现为文本。

当我使用开发工具编辑页面并将 JSON 中的字符串复制粘贴到生成的data-placeholder属性中时,它会正确呈现。

我想我可能不得不以某种方式绕过 domsanitizer ,正如这个 SA 问题中所说

现在我遇到这个问题,我明白了SafeValue must use [property]=binding although I'm already using property binding。(关于这个的另一个 SA 问题甚至是另一个问题

但是这些问题主要是关于 innerhtml (一个是关于 iframe 的 src ),但我从来没有得到任何这些工作。

所以我的问题是:这是获取角度多线属性的正确方法吗?如果是这样,我该如何正确逃避它?如果没有,我如何让多行数据属性在 Angular 中呈现?

0 投票
2 回答
1252 浏览

angular - 警告:清理不安全的 URL 值数据:text/html;base64,

我从服务器收到图像形式的响应,我将其作为 blob 接受并将其转换为图像

模板:

ts文件:

它给了我警告:清理不安全的 URL 值数据:text/html;base64。

使用 DomSanitizer bypassSecurityTrust 给出参数 String | 的错误 ArrayBuffer 不可分配给类型字符串

在 blob 到图像的情况下如何绕过角度安全性

解决方案:问题出在 reader.result 中,它没有给出有效的图像,所以我不得不在后端将图像作为数组缓冲区获取,然后将其发送到前端以获取正确的图像。

实际上,我的后端首先从另一个站点获取图像,然后将其发送到前端。

0 投票
1 回答
66 浏览

angular - 资源上下文中使用的不安全值 (iframe)

我正在尝试测试我的组件,其中我使用预签名 URL 从 S3 呈现 PDF 文件,然后我使用 bypassSecurityTrustResourceUrl,这很好用,但是当我尝试测试这个组件时,我得到以下错误。

这是我得到的错误

这是我的 .spec

这是我使用 url 的 html 代码

这是我设置 url 的 .ts 代码

如果有人可以帮助我,我从昨天开始就一直坚持这个错误。

0 投票
0 回答
238 浏览

javascript - 如何使用 Angular 中的 innerHTML 属性清理混合的 html 内容和预览

我正在开发一个 Angular 应用程序,我从 CKEditor 创建的 API 接收 HTML 内容。内容包括 iframe 和其他 HTML 数据。我尝试使用 bypassSecurityTrustHtml 和 bypassSecurityTrustUrl 这两种方法来清理内容,但它只是忽略了内容中的 iframe 部分并显示剩余部分。我附上了管道代码和全部内容,请指导我哪里错了。