如何防止YouTube显示已经观看过的视频?


12

有没有一种方法可以防止YouTube显示推荐视频列表中已经观看过的视频?


1
在HTML看一眼让我觉得它不应该很难做到。基本上,您希望display: none<ytd-compact-video-renderer>包含子元素的任何元素上进行设置#progress。您将无法在CSS中执行此操作,但是Tampermonkey脚本应该足够简单。我待会再去写答案...
Aaron F

Answers:


12

当前,尚无任何治疗/解决方法。除了逐个手动阻止它们之外,没有可伸缩的解决方案。

0

但是有些扩展可以这样做:


// ==UserScript==
// @version        1.1.1
// @name           Hide watched videos on YouTube
// @namespace      https://gist.github.com/xPaw/6324624
// @match          https://www.youtube.com/*
// @updateURL      https://gist.github.com/xPaw/6324624/raw/YoutubeHideWatched.user.js
// @downloadURL    https://gist.github.com/xPaw/6324624/raw/YoutubeHideWatched.user.js
// @grant          none
// ==/UserScript==

const app = document.querySelector( 'ytd-app' );

function HideVideos( a )
{
    app.querySelectorAll( 'ytd-thumbnail-overlay-resume-playback-renderer:not([data-hidden="true"])' ).forEach( element =>
    {
        element.dataset.hidden = true;

        while( ( element = element.parentNode ).tagName.toLowerCase() !== 'ytd-item-section-renderer' )
        {
            // Find the container element for this video
        }

        element.hidden = true;
    } );
}

function ProcessPage()
{
    if( !window.location.pathname.startsWith( '/feed/subscriptions' ) )
    {
        return;
    }

    const list = app.querySelector( 'ytd-section-list-renderer' );

    if( list.dataset.hooked )
    {
        return;
    }

    list.dataset.hooked = true;
    list.addEventListener( 'yt-next-continuation-data-updated', HideVideos );

    // TODO: Find an event to fix this
    new MutationObserver( HideVideos ).observe( list, { childList: true, subtree: true } );
}

app.addEventListener( 'yt-navigate-finish', ProcessPage );

ProcessPage();

3
真可惜 我一直都收到相同的〜十个音乐视频,但是完全阻止它们实在是太过分了。
JollyJoker

1
哦,太好了,您使用了用户脚本进行了更新!:-)
亚伦F

有些不起作用,但这就是我想要的。Tks
DGaleano

4

AFAIK,无法在YouTube本身上执行此操作,但是我使用了Chrome扩展程序(YouTube更好的订阅),该扩展程序可让您从“订阅”标签中隐藏观看的视频。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.