问题标签 [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.
css - 使用 Angular 的 DomSanitizer 清理 CSS
我想在将一些 CSS 注入我的应用程序的<style>
标签之前对其进行清理<head>
。
我像这样通过 DomSanitizer 传递它:
const safeCSS = this.domSanitzer.sanitize(SecurityContext.STYLE, css);
但是我在控制台中收到此错误消息,它认为我的 CSS 不安全。
WARNING: sanitizing unsafe style value [MY_CSS_HERE]
我想了解为什么 Angular 认为我的 CSS 不安全。
我把我的 CSS 放在 codepen 上,因为它很大,但很简单。
见https://codepen.io/stevedeighton/pen/OvgLVb
有任何想法吗?
谢谢!
javascript - Angular、DomSanitizer、bypassSecurity 脚本
我正在玩bypassSecurityTrust*
Angular的功能。目标是让script
标签在页面上执行。但它要么不断用消息进行消毒
WARNING: sanitizing HTML stripped some content
或者我在控制台中看到
SafeHtmlImpl {changingThisBreaksApplicationSecurity: "<script>alert(1)</script>
.
目标是让这个工作。
我目前使用和尝试过的:
和模板html:
我尝试了两者都sanitize
应该SecurityContext.NONE
可以查看代码和bypassSecurityTrustHtml(value)
. 上面的代码受到这个答案的启发。
关于如何执行该 JavaScript 的任何想法?
angular - 管道内的Angular2未定义DomSanitizer
我正在尝试使用 DomSanitizer 来确保我的 URL 安全。我已按照以下步骤操作,如下所示:
该记录值没问题,但我收到错误消息:
这对我来说意味着我的对象并没有全部设置好。我已经检查过正在调用“构造函数”,那么我在这里缺少什么?
angular - Angular 5:显示来自服务器响应的 html 和 xml
我有一个场景,我需要从服务器发送的相同字符串中显示 html 和 xml。
来自服务器的回复如下所示:
我试过了:
html:
我收到此错误:
而当我使用[innerHTML]
而不是[innerText]
xml时已经被清除了。
如何显示示例 xml 代码以及解析 html 标签(如<b>
标签)?至少我怎样才能摆脱这个错误?
angular - 使用第三方库缩放图像时,Angular5 / Firebase 存储不起作用
我正在使用 Angular5 和 Google Cloud Firestore 作为数据库来构建电子商务。在产品页面中,我想在鼠标悬停图片时缩放照片。这是问题所在:
作为缩放库,我使用的是angular2-image-zoom。它适用于我项目内部的图像,但是当我传递外部图像源(来自 Firebase 存储时,它不起作用)。
代码示例:
product-page.component.ts
我已经尝试过各种 DomSanitizer 来绕过 url、style、secureSrc,但它们都不起作用。大家有什么建议吗?
angular5 - Angular 5 bypassSecurityTrustUrl 不起作用
我正在尝试在我的 Angular 5 应用程序上制作一个视频,其 url 来自其他站点。视频未播放。
在视图中,我试图将 src 添加到 videoUrl。
html - 如何将使用 innerHTML 注入的样式包含到 DOM 元素及其子元素中?
我有一个从第三方获得的 HTML 页面。
问题是 HTML 带有样式标签内的 CSS。CSS 是一种通用的,他们在正文上添加自己的字体和自己的字体大小。
我正在使用带有 bypassSecurityTrustHtml 的 dom sanitizer 在我的应用程序上显示 HTML。
现在添加新的 HTML 后,我的应用程序样式因此受到影响。除了在 iframe 中添加第三方 URL 外,我怎样才能避免这种情况?
angular - Jasmine 无法识别 Angular 的 DomSanitizer
我正在使用 Jasmine 对 Angular 5 应用程序进行单元测试。我到了需要测试一个依赖于的函数的地步DomSanitizer
:
我验证了这个函数可以完美运行,这意味着它DomSanitizer
已经在构造函数中并且它的语法是正确的。
我的单元测试如下:
此外,DomSanitizer
是的一部分TestBed
providers
:
然而,Jasmine 在对函数进行单元测试时抛出了这个错误:
有任何想法吗?
谢谢!
angular - 是否可以在使用 Angular 中的 DomSanitizer 管道清理的字符串中包含并发出事件?
我试图将单击事件传递给使用 DomSanitizer 呈现的按钮。但是单击按钮时不会调用有界方法。
组件.ts
组件.html
管道.ts
按钮以样式正确显示。但是点击事件没有被触发。
是否有任何解决方案或替代解决方案?
angular - 在 Angular 4 中向 DOM 元素添加事件监听器
我想向Angular 组件内的iframe 加载事件添加一个事件侦听器。
我知道我可以使用ViewChild
装饰器,然后访问element.nativeElement.addEventListener
但是,为了在 Angular 内部处理 DOM 时遵守最佳实践,访问 nativeElement 上的 addEventListener 仍然被认为是平台无关的吗?还是我将我的应用程序绑定到纯浏览器应用程序?
谢谢