Add hide button

Add hide button to video blocks in subscriptions feed

2022-02-11 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @author       Rolandas Valantinas
// @description  Add hide button to video blocks in subscriptions feed
// @include      *youtube.com/feed/subscriptions*
// @name         Add hide button
// @namespace    https://greasyfork.org/users/157178
// @supportURL   https://github.com/rolandas-valantinas/gists/issues
// @version      1.0
// ==/UserScript==

// Helper functions
function getTarget(e) {
	e = e || window.event;
	return e.target || e.srcElement;
}

// Hide videos when clicked
function autoHideClicked (e) {
	var target = getTarget(e).parentNode.parentNode;

    var hideMenuButton = target.getElementsByTagName('button')[0];
    hideMenuButton.click();

    setTimeout(function() {
        // Hide the video via the youtube menus, because 1) lazy, 2) easier to update in future
        var hideMenu = document.getElementsByTagName('ytd-popup-container')[0];
        var hideButton = hideMenu.getElementsByTagName('yt-formatted-string');
        hideButton[hideButton.length-1].click();
    }, 4);
}

(function () {
    var i;
    var videos = document.getElementsByTagName("ytd-grid-video-renderer");

    for (i = 0; i < videos.length; i++) {
        var link = document.createElement('div');
        link.innerHTML = '<a class="hide-button" href="javascript:;">hide</a>';

        videos[i].appendChild(link);
    }

    var hideButtons = document.getElementsByClassName('hide-button');

    for (i = 0; i < hideButtons.length; i++) {
        hideButtons[i].addEventListener('click', autoHideClicked, false);
    }
})();