问题标签 [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 投票
2 回答
2616 浏览

angular - DomSanitizer 在 Angular 4 中清理 Blob Url

这个想法是在角度端嵌入一个 pdf 文件,该文件由节点快递服务器以 blob 形式返回。 文件以blob形式返回

之后我得到图像并创建了一个 URL

然后在我在 html 中使用它之后

然后即使在使用消毒剂 angular 后返回清洁 url 问题

0 投票
1 回答
1057 浏览

angular - 如何创建可信 URL 的全局白名单?

我想为安全 URL 实现一个全局白名单功能,以绕过 Angular 2 中的资源 URL,类似于 AngularJS 通过其 $sceDelegateProvider 提供的功能,如此处所述

我曾尝试参考 Angular 文档,但似乎找不到任何帮助。

0 投票
1 回答
257 浏览

angular - Angular 4 - 不断请求经过消毒的图像网址

我有如下图像:

并且imgSource在检索一次后总是相同的。但是,它不断地从网络上一次又一次地请求图像(请参阅 参考资料这个图片)。

但是,如果我不使用消毒剂,则图像只会按预期检索一次。这是消毒剂的错误还是其他问题?

0 投票
0 回答
313 浏览

javascript - 为什么 document.getElementByID 返回 null?

目标:将变量从 Angular 应用程序发送到该页面上的 iFrame,但位于另一台服务器上

问题:为什么 document.getElementById 返回 null?我是在错误地使用 DomSanitizer 还是错误地使用了 postMessage?

(我试过的)

(本地主机:4200)

chat.component.html

chat.component.ts

聊天框.aspx(本地主机:7078):

0 投票
1 回答
1036 浏览

angular - 为什么 DomSanitizer 不适用于字符串值?

目标:将字符串变量从 Angular 应用程序(typesript)发送到位于另一台服务器上的 iFrame,以便它可以在有条件的情况下使用

问题:如何专门将 DomSanitizer 用于变量?

文档状态类型为:HTML、样式、脚本、网址。如果我只想发送一个纯字符串变量怎么办?文档对此并不清楚。

SecurityContext 显示相同的https://angular.io/api/core/SecurityContext。我试过脚本。我也尝试过清理方法,但它需要安全上下文。

我尝试使用脚本,但出现错误:错误:DomSanitizerImpl.push../node_modules/@angular/platform-的资源 URL 上下文中使用的不安全值(请参阅http://g.co/ng/security#xss )浏览器/fesm5/platform-b​​rowser.js.DomSanitizerImpl.sanitize

我阅读了(http://g.co/ng/security#xss)和(https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Security_concerns)以及其他文章关于 domsanitizer、postmessage、Angular 生命周期等,我尝试将代码放在文件的不同区域,包括 onload 等。

聊天组件.html:

聊天组件.ts:

当我添加以下内容时,出现错误:无法读取 null 的属性“contentWindow”

0 投票
1 回答
675 浏览

angular - Angular:防止 DomSanizer 更新 DOM 事件

我面临一个问题DomSanitizer

我创建了一个StackBlitz来复制这个问题。

每次单击按钮时,都会重新加载 iframe A。该按钮完全没有任何作用 - 所以它与 iframe 无关。

iframe A 对其源具有动态引用。为了完成这项工作,我使用DomSanitizer.

iframe B 有一个静态引用,这里没有重新加载 - 这是我的预期。只是为了表明它与消毒剂有关。

所以我需要在我的应用程序中有一个 iframe,它的内容应该取决于应用程序的状态(一些输入)。如果情况发生变化,那么重新加载就可以了。

但我不能接受每次单击与 iframe 无关的按钮时重新加载。

我该如何处理?感谢您的支持!

0 投票
2 回答
3129 浏览

angular - 如何测试依赖于 DomSanitizer 的 Pipe?

Angular 版本:8.1.2
测试工具:Karma 和 Jasmine,由预先安装ng new

我目前正在从事我的第一个 Angular 项目。作为其中的一部分,我创建了一个调用DomSanitizer.bypassSecurityTrustResourceUrl. 我这样做是为了能够在 iframe 中使用它们。我现在想为此管道实施测试。这是它的代码:

自动生成的规范文件看起来像这样:

在我运行测试之前,VSCode 告诉我这行不通,因为SafeResourceUrlPipe' 的构造函数需要一个参数。到目前为止一切顺利,但我不知道现在该怎么办。我不能只使用new DomSanitizer,因为它是一个抽象类。

我尝试的是创建一个实现 DomSanitizer 的模拟类,但是我只能测试是否创建了管道,而且我之前已经知道了。我想测试的是它是否正确地完成了转换输入的工作,但是当我伪实现主要依赖项时,我几乎无法测试它。

我已经对此进行了一些谷歌搜索,我怀疑它会变得很明显,但我找不到它。

0 投票
0 回答
79 浏览

angular6 - domsanitizer 提供安全的 html 内容,但锚标记在清理后不可点击

DomSanitizer在 Angular 6 中使用。我想清理包含iframes超链接视频内容等的内容。清理后,我得到了所有内容,它的锚标签现在不可点击。请帮我解决这个问题。

我也尝试过这样的事情

此内容中的锚链接应该是可点击的。

0 投票
1 回答
67 浏览

angular - 如何在 IONIC 4 中播放 HTML 字符串中的视频

我有来自 API 的 HTML 字符串和内部的 HTML 字符串,我正在将 youtube 视频放入<iFrame></iFrame>

我想将此视频与 HTML 一起显示。

在 HTML 中,我通过以下代码显示字符串

输出 在此处输入图像描述

我无法显示 HTML 视频。

0 投票
2 回答
1698 浏览

html - Angular Dom Sanitizer HTML 无法复制文本

我使用 DomSanitizer 从数据库中清理我的 HTML 内容以显示在页面上。

safeHtml 在哪里:

它工作完美。但是我注意到在网页上显示时无法选择或复制此文本。否则,可以正常复制或选择正常字符串字段中显示的文本。