🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

YouTube 6 Videos Per Row (Custom)

Custom script to force 6 videos per row on YouTube homepage with a small gap

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

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

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

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

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

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

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

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

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

// ==UserScript==
// @name         YouTube 6 Videos Per Row (Custom)
// @namespace    http://tampermonkey.net/
// @version      1.21
// @license MIT
// @description  Custom script to force 6 videos per row on YouTube homepage with a small gap
// @author       mechanicalfluff
// @match        https://www.youtube.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    function applyCustomLayout() {
        const styleId = 'youtube-6-videos-custom';
        let existingStyle = document.getElementById(styleId);
        if (existingStyle) existingStyle.remove();

        const style = document.createElement('style');
        style.id = styleId;
        style.textContent = `
            #contents.ytd-rich-grid-renderer {
                display: grid !important;
                grid-template-columns: repeat(6, calc(16.6667% - 3px)) !important; /* Adjusted for gap */
                gap: 15px !important; /* Cursor-width gap between videos to avoid triggering mouseover. (approx. 15px) */
                width: 100% !important;
                padding: 0 !important;
                margin: 0 !important;
                box-sizing: border-box !important;
            }
            ytd-rich-item-renderer {
                width: 100% !important;
                margin: 0 !important;
                padding: 0 !important;
                box-sizing: border-box !important;
            }
            @media (max-width: 1800px) {
                #contents.ytd-rich-grid-renderer {
                    grid-template-columns: repeat(5, calc(20% - 2.4px)) !important;
                    gap: 2px !important;
                }
            }
        `;
        document.head.appendChild(style);
    }

    // Apply on load
    window.addEventListener('load', applyCustomLayout);

    // Reapply on navigation
    window.addEventListener('yt-navigate-finish', applyCustomLayout);

    // Observe changes
    const observer = new MutationObserver(() => applyCustomLayout());
    observer.observe(document.body, { childList: true, subtree: true });

    // Initial application
    applyCustomLayout();
})();