- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Marker interface for a value that's safe to use as a URL linking to a document.
什么时候应该使用 SafeUrl
?
最佳答案
您使用 SafeUrl
和 DomSanitizer
来告诉 Dom 您的应用信任某个 URL。
Angular treats all values as untrusted by default. When a value is inserted into the DOM from a template, via property, attribute, style, class binding, or interpolation, Angular sanitizes and escapes untrusted values.
例如,执行以下操作将导致错误:
<iframe [src]="iframeSrc"></iframe>
在你的 ts 中:
export class AppComponent {
iframeSrc: string;
constructor(){
let id = 's7L2PVdrb_8'; // Game of Thrones Intro Video
this.iframeSrc = `https://www.youtube.com/embed/${id}`;
}
}
unsafe value used in a resource URL context
为避免这种情况,您可以使用 SafeUrl
和 DomSanitizer
来告诉您的应用您正在使用的动态 URL 是可信的:
import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
export class AppComponent {
iframeSrc: SafeUrl;
constructor(private sanitizer: DomSanitizer){
let id = 's7L2PVdrb_8'; // Game of Thrones Intro Video
let url = `https://www.youtube.com/embed/${id}`;
this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
查看此 working demo .
关于angular - Angular 的 SafeUrl 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46302873/
我正在尝试从添加了bypassSecurityTrustUrl方法的控制台中删除不安全警告。但我收到错误 user.component.ts import {Component,OnInit} fro
我使用 sanitizer.bypassSecurityTrustUrl 在页面上放置指向 blobURL 的链接。只要我不 AoT 编译项目,这就可以正常工作。 import {DomSanitiz
documentation只说: Marker interface for a value that's safe to use as a URL linking to a document. 什么时
前段时间我意识到我不能简单地将字符串传递给 的 href 参数。标记或背景样式。只有SafeUrl和 SafeStyle实例被接受。坦率地说,我不明白整个概念,因为我可以使用一个简单的调用来清理任何
我正在将受信任的 URL 加载到 iframe 中,它工作正常。我还想将该 URL 作为字符串显示在页面上。我试过了 {{url}}但它显示: SafeValue must use [property
我收到了一些奇怪的 HTTP 请求,例如: "POST /type_error:SafeUrl HTTP/1.1" "GET /some/path/type_error:SafeUrl HTTP/1.
在我的应用程序中,我以这种方式显示图像- loadProfileImage(userID){ this.settingsService.getProfileImage(userID).subs
我是一名优秀的程序员,十分优秀!