当我使用iframe在Angular 7项目中显示YouTube视频时,某些视频显示“视频不可用”错误。 Screenshot of error message
iframe的示例代码有错误:
<iframe width="560" height="315" src="https://www.youtube.com/embed/dhYOPzcsbGM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
这是YouTube上未经编辑的代码->“共享”->“嵌入”(代码没有错)
这在localhost上运行时将很好地工作,但在我的开发或生产环境中不起作用。另请注意,它在http://127.0.0.1:4200/
中不起作用我尝试过并发现的东西
- 在Edge浏览器中工作(甚至在生产中,,令人惊讶)。
- 不能在Chrome和Firefox中使用。
- 如果在w3schools中替换iframe示例的src,它将起作用。 https://www.w3schools.com/tags/tag_iframe.asp(因此它可以在非本地环境中使用)。
- 问题不是由视频所有者限制嵌入引起的。因为在这种情况下,在“视频不可用”下方,它会清楚地说明原因。
- 我尝试在一个全新的项目中运行它。因此,问题不是由我的原始项目中的任何程序包或错误引起的。
- 我收到此警告
与位于以下位置的跨站点资源关联的cookie 没有设置
SameSite
属性的http://www.youtube.com/。一种 Chrome的未来版本将仅提供跨站点Cookie 请求是否设置了SameSite=None
和Secure
。您可以 在“应用程序”>“存储”>“ Cookies”下查看开发人员工具中的cookie 并查看更多详细信息 https://www.chromestatus.com/feature/5088147346030592和 https://www.chromestatus.com/feature/5633521622188032。
P.S。我是Angular的中级菜鸟,请详细说明您的答案。谢谢您的帮助。?