angular - iframe 在 Angular 5 中不起作用,它显示的是 html 内容
问题描述
这是显示的内容,我正在尝试在我的网站上显示 youtube 内容,但没有显示
这里是在浏览器上显示的 html
<iframe width="480" height="270" src="https://www.youtube.com/embed/HK6B2da3DPA?feature=oembed" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen>
我使用以下内容绑定该值:
<div class="text-center"> {{articleDatils.raw_content_path}} </div>
解决方案
在 iframe 中使用 URL 之前,您需要对其进行清理。之所以需要这样做,是因为它有助于防止跨站点脚本,即它可以防止攻击者将恶意客户端脚本注入网页,这通常被称为跨站点脚本或 XSS。
这种方法对我有用:
导入这个头文件:
import { DomSanitizer } from '@angular/platform-browser';
我创建了一个函数:
getUrl(post)
{
return this.sanitizer.bypassSecurityTrustResourceUrl('https://'+ post.url +'/');
}
然后在模板中:
<div class="iframe-container d-none d-lg-block">
<iframe [src]='getUrl(post)'>
<p>Your browser does not support iframes.</p>
</iframe>
</div>
推荐阅读
- javascript - document.hasOwnProperty("hidden") 返回 false,但 document 的属性为 hidden
- angular - 将 Angular 材质添加到现有 Angular 7 应用程序时出错
- java - 如何将 SSL 证书添加到 cacerts 和 keystore?
- android - 如何将可访问性焦点转移到 RecyclerView 在某些操作上的第一个元素上?
- ruby-on-rails - JqueryUI Autocomplete 不是 Rails 5 中的功能
- android - 无法使用 Glide/Fresco 加载图像
- python - Join All dataframes which names starts with df
- postgresql - 使用 db.create_all() 运行迁移
- css - Chrome中自定义链接光标的问题
- python - Monkeypatching:更改一些参数后调用原始模拟方法