YouTube'un zaten izlenen videoları göstermesini nasıl önleyebilirim?


12

YouTube'un önerilen videolar listesinde önceden izlenen videoları göstermesini engellemenin bir yolu var mı?


1
HTML'ye hızlı bir bakış, bunu yapmanın çok zor olmaması gerektiğini düşündürüyor . Temel olarak alt öğe içeren display: noneherhangi bir <ytd-compact-video-renderer>öğeyi ayarlamak istersiniz #progress. Bunu CSS'de yapamazsınız, ancak bir Tampermonkey betiği yeterince basit olmalıdır. Daha sonra gidip bir cevap yazacağım ...
Aaron F

Yanıtlar:


12

Şu anda, bunu yapmak için hiçbir tedavi / geçici çözüm yoktur. Bunları tek tek manuel olarak engellemenin dışında ölçeklenebilir bir çözüm yoktur.

0

Ancak bunu yapabilen uzantılar var:


// ==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
Bu utanç verici. Her zaman aynı ~ düzine müzik videosu alıyorum ama tamamen engelleme aşırıya kaçıyor.
JollyJoker

1
oh güzel, bir kullanıcı yazısıyla güncelledin! :-)
Aaron F

Bazıları işe yaramaz, ama aradığım şey bu. Tks
DGaleano


1

YouTube'da izlenen videoları gizlemek için özel olarak profesyonel bir eklenti / kullanıcı komut dosyası geliştirdim: izlenen videolar Firefox için gizleyici eklentisi https://addons.mozilla.org/en-US/firefox/addon/youtube-watched-videos-hider /

krom ve diğer tarayıcılar için kullanıcı komut dosyası sınırlı sürümünü kullanmanız gerekir, çünkü YouTube şarkıları çalma listenizi de gizleyecektir, ancak eklentinin bunu çözme seçeneği vardır, önceden izlenen şarkıyı dinlemek istediğinizde komut dosyasını durdurabilirsiniz

Öncelikle kullanıcı komut dosyası yöneticisini kurmanız gerekir

https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=tr https://addons.opera.com/tr/extensions/details/tampermonkey-beta/

Sonra bu GitHub bağlantısından kullanıcı komut dosyasını yükleyin, otomatik olarak tek bir tıklama ile yüklenmelidir, aksi takdirde komut dosyasını kopyalamanız ve kullanıcı komut dosyası yöneticisinde (temper maymun gibi) geçmeniz gerekir.

https://github.com/ibtisammidlet/youtube-watched-videos-hider/raw/master/youtube-watched-videos-hider.user.js


Tamam, teşekkürler, şimdi yazılımımı geliştirdim.
ibtisam midlet
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.