请注意,这与 Youtube 应用程序无关。它涉及通过浏览器在桌面上使用 Youtube 网站。
我正在使用旧的 Youtube 网站布局 ( ?disable_polymer=1
)。
令人难以忍受的新布局的一个特点是,当您将鼠标悬停在缩略图上时,会自动播放三秒钟的视频。
幸运的是,这个功能在我使用的旧布局中不起作用。
不幸的是,现在起作用了。他们已经“修复”了这个问题,现在无论布局如何,它都可以正常工作。
这个功能非常烦人,因为我必须非常小心地移动鼠标以及将鼠标放在何处。在过去的几个月里,我从来没有一次主动调用 3 秒自动播放,但当我移动鼠标不够快或粗心地将鼠标放在缩略图上时,我却遭遇了数百次不必要的自动播放。预览从来都不是相关的,播放时只有两种可能的结果:如果你幸运的话,你会看到三秒钟脱离上下文的废话,如果你不走运的话,在你开始观看之前,视频的情节转折就会显露出来。
我真的想禁用这个令人厌恶的悬停播放功能。
我使用的是 Firefox,并且安装了 Stylus 和 GreaseMonkey,但我就是搞不清楚我在寻找网页的哪个元素。
我似乎无法“检查”实时预览的元素 - 它在开发人员工具中打开文档树,但没有代表预览的节点。
我可以“检查”缩略图下的链接并在树中挖掘它,但仍然无法找到任何东西。
我能找到的唯一与此主题相关的信息是这篇 Reddit 帖子建议使用用户脚本:
// ==UserScript== // @name Hide Thumbnails // @match https://www.youtube.com/* // @grant GM_addStyle // ==/UserScript== GM_addStyle("ytd-thumbnail {display:none}");
这不管是作为 GreaseMonkey 脚本还是作为 Stylus 样式表都不起作用。似乎没有ytd-thumbnail
以任何方式标记元素。
如何禁用 Youtube 网站上的实时缩略图,以便当我将鼠标悬停在缩略图上时不会播放视频?
答案1
我已经追踪到了。实时缩略图是动态创建的,当鼠标离开时会从文档中删除,因此很难追踪。
所涉及的类是mouseover-play
和mouseover-img
,因此此 Stylus 自定义样式表将摆脱它们:
@-moz-document url-prefix("http://www.youtube.com/"), url-prefix("https://www.youtube.com/") {
/* Remove the idiotic live thumbnails on Youtube */
.mouseover-play, .mouseover-img {
display: none !important;
}
}
但是这仍然会执行绑定到缩略图的事件处理程序,即使您看不到实时预览,它也会从服务器查询,每次将鼠标移到缩略图上时都会浪费大约 200Kb 的流量。要完全停止这种情况,需要使用 GreaseMonkey 脚本:
// ==UserScript==
// @name Remove idiotic live thumbnails on Youtube
// @namespace gserg
// @include youtube.com/*
// @include http://www.youtube.com/*
// @include https://www.youtube.com/*
// @version 1
// @grant none
// ==/UserScript==
document.querySelectorAll(".yt-thumb-simple > img[data-mouseover-src]").forEach(i => {
i.onload = null;
i.removeAttribute("data-mouseover-src");
i.removeAttribute("data-mouseover-log");
});
有了脚本,您实际上就不需要 Stylus 样式表了。它现在只会隐藏实时预览播放完毕后显示的半透明“播放”三角形。