我有一个嵌入式YouTube视频列表。我的问题是,在我显示的四个视频中,有一个返回错误:Video not available
.
我尝试过更改浏览器,但它也不起作用。我还检查了视频是否允许嵌入外部。如果我查看浏览器的控制台,则不会引发异常。
<li class="col-sm-3 col-xs-6 single_item vid">
<iframe width="100%" height="315" src="https://www.youtube.com/embed/KdbDDVcw7qc?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<figcaption class="overlay">
</figcaption>
</li>
有没有人知道,为什么这个视频不起作用,但其他人都行?
YouTube 禁止在没有公共领域的localhost environment
中嵌入某些视频,但您的视频可以通过public domain/ sub-domain
尝试使用网络托管应用程序或在线 html 工具毫无问题地嵌入。
它工作得很好。我尝试嵌入四个不同的视频,它们都运行良好。这是链接 https://jsfiddle.net/Arpit09/kt1dwqjp/7/
<iframe width="100%" height="315" src="https://www.youtube.com/embed/KdbDDVcw7qc?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
我们遇到了非常相似的问题,但此处和其他 SO 问题中列出的标准方法都没有回答/解决我们的问题。
在我们的案例中,问题仅限于具有许可证内容的视频,通常是来自知名艺术家的音乐风格视频。
当视频未获得许可时,未发生此问题。我知道有些艺术家可以标记他们的视频不可共享,并且可以允许/阻止域等。但是,我们知道这些都与我们无关。
相反,问题是推荐人政策。我怀疑谷歌/Youtube的授权内容建立了一个信任模型,而这种信任模型的一部分需要一个强大的Referer政策。
我们通过将引用策略 MDN 引用策略设置为更强的引用策略来解决我们的问题。
如果我们使用默认值:
"降级时无引荐来源">
播放时的视频会显示"视频不可用"。
我们改为:
原点-当-交叉源
视频播放成功
如果您无法在 MrBean 提供的 JSFiddle 链接上看到视频,则您的设备有问题,而不是嵌入本身。
如果是这种情况,下一步是隔离问题。
你试过吗:
-
不同的浏览器。(可能是您的某个扩展或缓存有问题。
-
网络上的另一台计算机。(可能是您的安全设置或防火墙过滤器有问题。
-
不同网络上的另一台计算机。(这将模拟大多数用户,这些用户报告说能够正确观看视频。
此视频应该可以播放,但您可能无权查看或显示它。
我在文档标题中有这一行,我删除了它并开始工作
<meta name='referrer' content='no-referrer'/>