如何使用CSS/Reactjs禁用youtube视频上的观看和共享按钮



我想使用CSS/Reactjs禁用youtube视频上的观看和共享按钮。我正在使用ReactPlayer将youtube视频嵌入我们的应用程序中,并试图通过获取iframe和更改与按钮相关的css类来禁用观看和共享按钮,我能够获取与视频相关的iframe。但是,无法获取对#document中元素的引用,而#document是iframe的一部分,无法对这些元素进行操作。

我已经浏览了几个帖子,知道这是由于CORS。

早期我们可以通过设置配置参数showinfo=0和rel=0来实现这一点。但现在有一些不受欢迎的

有人能帮我吗。

正如您从Youtube修订历史中正确注意到的,showinfo参数自2018年9月25日起已弃用。"稍后观看"one_answers"共享"按钮也是该功能的一部分,它们无法删除。

此外,您永远无法访问/操作来自不同来源的iframe的dom内容。这就像一个web应用程序可以访问另一个应用程序内容。

最后,我可以在这里建议的唯一破解方法是,为你的虚拟禁用共享按钮创建cssposition: absolute; pointer-events: none;,并将其准确地放置在你的网络应用程序中youtube播放器的共享图标上。

.overlay-banner {
position: absolute;
width: 560px; // width of video player
height: 58px; // height of banner
background: transparent;
top: 0px;
left: 0;
}

此覆盖将阻止单击share/watch以后的图标。这可能是糟糕的用户体验。工作小提琴链接

因此,您可以使用自定义背景图像或颜色修改此overlay-bannercssbackground,并使其仅在视频处于暂停/完成状态时为display: block,您可以通过Yotube api获取该状态。

希望这能奏效。:(

为youtube url 添加这些查询参数

https://www.youtube.com/embed/tFlAFo78xoQ?mode=opaque&rel=0&autohide=1&showinfo=0&wmode=透明

最新更新