Wie kann man verhindern, dass YouTube bereits gesehene Videos anzeigt?


12

Gibt es eine Möglichkeit, YouTube daran zu hindern, bereits angesehene Videos in der Liste der vorgeschlagenen Videos anzuzeigen?


1
Ein kurzer Blick auf das HTML lässt mich denken, dass es nicht zu schwer sein sollte. Sie möchten grundsätzlich display: nonejedes <ytd-compact-video-renderer>Element festlegen , das ein untergeordnetes Element enthält #progress. In CSS ist das nicht möglich, aber ein Tampermonkey-Skript sollte einfach genug sein. Ich werde es später noch einmal versuchen und eine Antwort schreiben ...
Aaron F

Antworten:


12

Derzeit gibt es keine Lösung dafür. Abgesehen davon, dass sie einzeln manuell blockiert werden, gibt es keine skalierbaren Lösungen.

0

Es gibt jedoch Erweiterungen, die dies tun können:


// ==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
Das ist eine Schande. Ich bekomme die ganze Zeit das gleiche ~ Dutzend Musikvideos, aber es ist übertrieben, sie komplett zu blockieren.
JollyJoker

1
oh schön, du hast mit einem userscript upgedatet! :-)
Aaron F

Einige funktionieren nicht, aber das ist es, wonach ich gesucht habe. Tks
DGaleano

4

AFAIK, es gibt keine Möglichkeit, dies auf YouTube selbst zu tun, aber ich verwende eine Chrome-Erweiterung ( Better Subscriptions for YouTube ), mit der Sie beobachtete Videos auf Ihrem Abonnement-Tab ausblenden können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.