问题标签 [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.
angular - Angular Domsanitizer 不接受 url 并抛出错误
我正在尝试清理 url 以用作对象标记的数据属性以显示 svg。
我的.page.html
我的.page.ts
安全管道.ts
抛出错误:
管道工作正常,svg 很好(正确的位置和硬编码显示正常)你知道为什么 Domsanitizer 不接受这个资源 url 吗?谢谢
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 链接工作?
谢谢你的时间。
angular - 将 Angular Pipe 应用于 Angular 递归列表模板
我有一个使用 Pipe 的递归 Angular 模板,用于深度嵌套的对象数组,其中我有数据和子对象。我的问题是,只有在使用搜索功能时,我使用的管道会突出显示嵌套对象中搜索和找到的数据。DomSanitizer 有效,但它没有绕过安全性,我得到SafeValue must use [property]=binding。我尝试将其用作[innerHtml]="item.data | search:searchedData"但我只得到最高值而不是深度嵌套的子值。
我用于呈现嵌套数据的 HTML 模板。
我用来突出显示搜索数据的管道。
我得到的 html 值:
angular - 错误:在函数中使用“typeof CommonFunctions”类型时不存在属性“bypassSecurityTrustUrl”?
我想为函数中常用的语句构建一个通用类。
如果我在函数中使用这个关键字,我会得到错误。
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 中呈现?
angular - 警告:清理不安全的 URL 值数据:text/html;base64,
我从服务器收到图像形式的响应,我将其作为 blob 接受并将其转换为图像
模板:
ts文件:
它给了我警告:清理不安全的 URL 值数据:text/html;base64。
使用 DomSanitizer bypassSecurityTrust 给出参数 String | 的错误 ArrayBuffer 不可分配给类型字符串
在 blob 到图像的情况下如何绕过角度安全性
解决方案:问题出在 reader.result 中,它没有给出有效的图像,所以我不得不在后端将图像作为数组缓冲区获取,然后将其发送到前端以获取正确的图像。
实际上,我的后端首先从另一个站点获取图像,然后将其发送到前端。
angular - 资源上下文中使用的不安全值 (iframe)
我正在尝试测试我的组件,其中我使用预签名 URL 从 S3 呈现 PDF 文件,然后我使用 bypassSecurityTrustResourceUrl,这很好用,但是当我尝试测试这个组件时,我得到以下错误。
这是我的 .spec
这是我使用 url 的 html 代码
这是我设置 url 的 .ts 代码
如果有人可以帮助我,我从昨天开始就一直坚持这个错误。
javascript - 如何使用 Angular 中的 innerHTML 属性清理混合的 html 内容和预览
我正在开发一个 Angular 应用程序,我从 CKEditor 创建的 API 接收 HTML 内容。内容包括 iframe 和其他 HTML 数据。我尝试使用 bypassSecurityTrustHtml 和 bypassSecurityTrustUrl 这两种方法来清理内容,但它只是忽略了内容中的 iframe 部分并显示剩余部分。我附上了管道代码和全部内容,请指导我哪里错了。