禁用 Youtube 网站上的实时缩略图

禁用 Youtube 网站上的实时缩略图

请注意,这与 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-playmouseover-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 样式表了。它现在只会隐藏实时预览播放完毕后显示的半透明“播放”三角形。

相关内容