【发布时间】:2017-10-17 02:14:08
【问题描述】:
当我的嵌入视频暂停时,Youtube 正在显示一个包含视频建议的菜单。 iframe 中的元素具有类 'ytp-pause-overlay'
如何在不删除控件的情况下将其删除?
【问题讨论】:
标签: javascript iframe youtube youtube-api youtube-iframe-api
当我的嵌入视频暂停时,Youtube 正在显示一个包含视频建议的菜单。 iframe 中的元素具有类 'ytp-pause-overlay'
如何在不删除控件的情况下将其删除?
【问题讨论】:
标签: javascript iframe youtube youtube-api youtube-iframe-api
是的,这是可能的。您必须在 iframe 代码中使用 showinfo=0?ecver=2。
例子:
<iframe src="https://www.youtube.com/embed/pV1jC37ELmQ?rel=0&showinfo=0?ecver=2" width="640" height="360"></iframe>
【讨论】:
如果您使用 Javascript YouTube Player iframe API 加载视频,则需要使用 Player Parameters 并将 rel 的值设置为 0。
例子:
player = new YT.Player( 'player', {
height: '390',
width: '100%',
videoId: 'y9QEQHe8ax4',
playerVars: { 'rel':0}
}
);
Youtubechanged the behavior of rel parameter:
rel 参数的行为在 2018 年 9 月 25 日或之后发生变化。更改的影响是您将无法禁用相关视频。但是,您可以选择指定播放器中显示的相关视频应与刚刚播放的视频来自同一频道。
更具体地说:在更改之前,如果参数的值是 设置为0,则播放器不显示相关视频。之后 更改,如果rel参数设置为0,播放器将显示相关 与刚刚发布的视频来自同一频道的视频 玩过。
如果您是视频的所有者,我找到了一种解决方法。
使用提供的代码示例要求 Youtube 仅从您的频道加载相关视频。
为了强制 Youtube 删除相关视频列表。 只需创建一个新频道并将所需的视频上传为未列出。您必须确保未列出新频道中的所有视频,这意味着当 Youtube 尝试显示来自同一频道的相关视频时,该列表将为空,因此 Youtube 不会显示相关视频菜单。
要测试此解决方案,请尝试隐身会话或其他浏览器,因为如果您使用拥有该频道并有权访问未列出的视频的同一帐户登录,Youtube 将向您显示相关视频菜单
【讨论】:
我的解决方案是在 url 的末尾添加值为“0”的参数“rel”。
根据开发者指南here,“rel”参数的描述是:
此参数表示播放器在初始视频播放结束时是否应显示相关视频。支持的值为 0 和 1。默认值为 1。
当我将值设置为“0”时,此参数可防止在视频暂停时显示建议的视频。
一个示例网址是:https://www.youtube.com/embed/ABCDEFG?rel=0
【讨论】:
建议的解决方案都不适合我,所以我最终将其添加到页面:
<style>
.ytp-pause-overlay{
display:none;
}
</style>
【讨论】:
在尝试了所有这些技巧(以及其他帖子中的一些技巧)之后,我仍然无法摆脱 ytp-pause-overlay。 DID 唯一真正起作用的是限制 iframe 本身的尺寸(使用百分比),同时在外部 div 中设置所需的尺寸(使用 px)。
示例:<div style="height: 300px; width: 350px"><iframe style="width:90%" src...></iframe></div>
(请原谅内联样式)
【讨论】:
我搞砸了一会儿,发现这个解决方案对我有用:
我的浏览器是 chrome 版本 73.0.3683.86
我的 adblock plus 是 3.5 版
使用adblock plus,进入其设置,点击左侧的高级,向下滚动到“我的过滤器列表”区域,添加以下行:
点击保存,重新加载包含视频的网页。
我还添加了以下内容,但我认为没有必要解决您的确切问题,但我包含这些信息只是为了彻底。我相信这只会在视频的最后挡住建议/相关内容的网格。
/yts/swfbin/player-*/endscreen.swf
youtube.com##div.videowall-endscreen
youtube.com##watch 相关
【讨论】: