YouTube Time Parameter Remover

Remove the &t=*s parameter from YouTube URLs

スクリプトをインストールするには、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         YouTube Time Parameter Remover
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Remove the &t=*s parameter from YouTube URLs
// @author       Rehan Ahmad
// @match        https://www.youtube.com/*
// @icon         https://raw.githubusercontent.com/r280822a/YouTube-Time-Parameter-Remover/refs/heads/main/icon/icon.png
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function () {
    'use strict';

    function cleanURL() {
        const url = new URL(window.location.href);
        const params = url.searchParams;

        // If 't' parameter exists, remove it
        if (params.has('t')) {
            params.delete('t');
            const cleanUrl = url.origin + url.pathname + '?' + params.toString();

            // Replace the URL without reloading the page
            window.history.replaceState({}, '', cleanUrl);
            console.log('Replaced timestamp parameter in URL');
        }
    }

    // Run on page load
    window.addEventListener('load', cleanURL);

    // Detect URL changes
    let lastUrl = location.href;
    new MutationObserver(() => {
        const currentUrl = location.href;
        if (currentUrl !== lastUrl) {
            lastUrl = currentUrl;
            cleanURL();
        }
    }).observe(document, { subtree: true, childList: true });
})();