Pants

Deletes Shorts from YouTube *search* results only

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Pants
// @namespace    plum.husky
// @version      1.1
// @description  Deletes Shorts from YouTube *search* results only
// @license      MIT
// @match        https://www.youtube.com/results*
// @run-at       document-idle
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    function removeShorts() {
        const videos = document.querySelectorAll("ytd-video-renderer");

        videos.forEach(v => {
            const link = v.querySelector("a#thumbnail, a#video-title");
            if (!link) return;

            const href = link.getAttribute("href") || "";

            // Shorts always use /shorts/ID
            if (href.startsWith("/shorts/")) {
                v.remove();
            }
        });
    }

    // initial run
    removeShorts();

    // dynamic page updates (YouTube SPA behavior)
    const obs = new MutationObserver(removeShorts);
    obs.observe(document.body, { childList: true, subtree: true });
})();