YouTube 影片自動刷新(一分鐘內不重複檢查,排除搜索頁面)

檢測 YouTube 影片是否暫停,如果暫停則自動刷新頁面。一分鐘內不重複檢查同一視頻。在搜索結果頁面不執行。

目前為 2024-10-21 提交的版本,檢視 最新版本

// ==UserScript==
// @name         YouTube 影片自動刷新(一分鐘內不重複檢查,排除搜索頁面)
// @namespace    http://tampermonkey.net/
// @version      1.5
// @license MIT
// @description  檢測 YouTube 影片是否暫停,如果暫停則自動刷新頁面。一分鐘內不重複檢查同一視頻。在搜索結果頁面不執行。
// @match        https://www.youtube.com/*
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    // 檢查是否在搜索頁面
    if (window.location.href.includes("https://www.youtube.com/results?search_query=")) {
        return; // 如果是搜索頁面,直接結束腳本執行
    }

    function checkVideoStatus(videoId) {
        const currentTime = Date.now();
        const lastCheckedTime = parseInt(sessionStorage.getItem('checkedTime_' + videoId) || '0');

        // 如果距離上次檢查不到五分鐘,則不再檢查
        if (currentTime - lastCheckedTime < 300000) {
            return;
        }

        // 更新檢查時間
        sessionStorage.setItem('checkedTime_' + videoId, currentTime.toString());

        const video = document.querySelector('video');
        if (video) {
            // 等待 1 秒後檢查影片狀態
            setTimeout(() => {
                if (video.paused) {
                    // 如果影片處於暫停狀態,刷新頁面
                    location.reload();
                }
            }, 1000);
        }
    }

    function getVideoId(url) {
        const urlParams = new URLSearchParams(new URL(url).search);
        return urlParams.get('v');
    }

    function handleUrlChange() {
        const currentUrl = window.location.href;
        if (currentUrl.includes('watch?v=')) {
            const videoId = getVideoId(currentUrl);
            if (videoId) {
                checkVideoStatus(videoId);
            }
        }
    }

    // 使用 MutationObserver 監聽 URL 變化
    const observer = new MutationObserver((mutations) => {
        for (let mutation of mutations) {
            if (mutation.type === 'childList') {
                handleUrlChange();
                break;
            }
        }
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 初始檢查
    handleUrlChange();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址