rel 参数隐藏了“更多视频”叠加层,但我们无法使用完整功能,因为 YouTube 只允许某些网站这样做。
例如:可汗学院上的 rel=0 会隐藏叠加层,但不会隐藏在您的网站上。
文档说明了什么:
这是 showinfo 和 rel 参数的弃用公告。标题、频道信息和相关视频是YouTube核心用户体验的重要组成部分,这些变化有助于使YouTube在不同平台上的观看体验保持一致。
现在我们知道,当用户使用官方 iFrame API 暂停时,我们无法隐藏“更多视频”叠加层。我们能做的就是使用更“hacky”的解决方案。
方法一:
只需通过“div 裁剪”隐藏播放器的顶部和底部部分即可。可以找到一个工作演示here。这基本上隐藏了“更多视频”部分,但也隐藏了控件,这可能是不可取的。
这是有效的,因为 YouTube 播放器始终以视频为中心,即使播放器非常高。所以我们要做的就是让玩家变得非常高,并剪掉顶部和底部。
为了进行裁剪,我们需要用 div 包裹 iFrame,所以我们的 HTML 可能看起来像这样。
<div id="player-size" style="">
<div id="cropping-div" style="">
<div id="div-to-crop" style="">
<div id="player-wrapper">
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>
</div>
</div>
</div>
</div>
嵌入 YouTube 播放器在 Stack Overflow 上不起作用,因此我没有在这里发布所有代码,而是使用CodePen,因为它们允许嵌入 YouTube.
方法二:
隐藏更多视频叠加的另一种方法是对来自以下频道的视频使用 rel=0 参数没有公开视频。此方法的限制是视频必须来自所有视频不公开或私有的频道。
更正:这种行为似乎已经改变,现在来自没有公共视频的频道的嵌入视频将不再显示“更多视频”、“相关视频”叠加层,无论嵌入中的 rel 参数如何。
这是我的测试频道的播放列表,没有带有 rel=0 参数的公共视频
这是我的测试通道中带有 rel=1 参数的嵌入