angular - 通过清理收到危险的 URL 错误
问题描述
我有一个加载带有动态 URL 的 iframe 的 Angular 模板。尽管对 URL 进行了清理,但我仍然收到错误消息:
ERROR Error: Required a safe ResourceURL, got a URL
我错过了什么?
组件.ts
/**
* Renders iframe for client to sign electronically by forming the URL based on the chosen externalDocument.
* @param externalDocument
*/
selectDocument(externalDocument: IExternalDocument) {
let document = new ExternalDocument(externalDocument)
let url = document.url
url = url.replace("INSERT_FIRSTNAME_HERE", this.firstName)
url = url.replace("INSERT_LASTNAME_HERE", this.lastName)
url = url.replace("INSERT_EMAIL_HERE", this.email)
this.formattedUrl = url
}
组件.html
<div style="display:block;margin:auto;padding:0;border:0;outline:0;font-size:12px!important;color:#AAA!important;vertical-align:baseline;background:transparent;width:90%;">
<iframe frameborder="0" height="900" scrolling="yes" [src]="sanitizer.bypassSecurityTrustUrl(formattedUrl)" width="100%"></iframe>
</div>
解决方案
看看是否bypassSecurityTrustResourceUrl
有效,而不是bypassSecurityTrustUrl
推荐阅读
- c# - 如何从共享点服务器下载 excel 文件?
- reactjs - React JS 错误:this.state.data.map 不是函数
- python - 将样式逐行应用于 pandas DataFrame
- python - 获取添加到 MongoDB 上的内部集合的对象的 ID
- jmeter - 预处理器变量在 websocket 请求中不可用
- circuit-sdk - 如何通过 webhook 提交带边框的表格?
- c# - 如何在谷歌云平台控制台中启用“Vector Tile API”?
- assembly - 用汇编语言 8086 显示一个框
- java - 如何使用多个属性文件(通过 PropertyPlaceholderConfigurer),有一个可选的属性文件?
- sql-server - 具有多个 Excel 连接的 SSIS 包无法通过 SQL 代理作业工作