动画疯自动同意年龄确认,移除广告跳转,广告静音,自动点击跳过广告

能够动画疯自动同意年龄确认,移除广告跳转,广告静音,自动点击跳过广告……安装即可,自动执行

目前為 2024-07-22 提交的版本,檢視 最新版本

// ==UserScript==
// @name         动画疯自动同意年龄确认,移除广告跳转,广告静音,自动点击跳过广告
// @namespace    http://tampermonkey.net/
// @version      0.3
// @license MIT
// @description  能够动画疯自动同意年龄确认,移除广告跳转,广告静音,自动点击跳过广告……安装即可,自动执行
// @author       XLXZ
// @match        https://ani.gamer.com.tw/animeVideo.php?sn=*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gamer.com.tw
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    let timers = [];

    // 定义回调函数,当观察到变化时执行
    const callback = function (mutationsList, observer) {
        console.log(`类属性变化了,应该是剧集发生变化,重新加载脚本……`);

        // 清除所有计时器
        timers.forEach(timer => {
            clearInterval(timer);
            clearTimeout(timer); // 对于setTimeout和setInterval都有效
        });
        timers = [];
        console.log('所有计时器已暂停');

        // 同意限制
        const agreeAge = setInterval(() => {
            const adultButton = document.querySelector('#adult');
            if (adultButton) {
                adultButton.click();
                clearInterval(agreeAge);
                console.log('同意年龄确认');
            }
        }, 20);
        timers.push(agreeAge);

        // 移除广告跳转
        const removeAds = setInterval(() => {
            const vastBlocker = document.querySelector('.vast-blocker');
            if (vastBlocker) {
                vastBlocker.remove();
                clearInterval(removeAds);
                console.log('移除广告跳转');
            }
        }, 100);
        timers.push(removeAds);

        // 30秒后跳过广告
        const skipAds = setTimeout(() => {
            console.log('30秒到了');
            const action = setInterval(() => {
                const skipButton = document.querySelector('#adSkipButton');
                if (skipButton && skipButton.classList.contains('enable')) {
                    skipButton.click();
                    console.log('跳过广告');
                    clearInterval(action);
                }
            }, 100);
        }, 30000);
        timers.push(skipAds);

        // 广告静音
        const muteAds = setInterval(() => {
            const muteButton = document.querySelector('.vjs-mute-control.vjs-control.vjs-button');
            const skipButton = document.querySelector('#adSkipButton');
            if (muteButton && skipButton) {
                if(!muteButton.classList.contains('vjs-vol-0')) {
                    muteButton.click();
                }
                clearInterval(muteAds);
                console.log('广告静音');
                const unmuteAds = setInterval(() => {
                    if (!skipButton) {
                        muteButton.click();
                        clearInterval(unmuteAds);
                        console.log('取消静音');
                    }
                }, 20);
            }
        }, 100);
        timers.push(muteAds);
    };

    // 创建一个观察者实例并传入回调函数
    const observer = new MutationObserver(callback);

    // 指定要监控的配置选项(这里是属性变化)
    const config = { attributes: true, attributeFilter: ['class'] };

    // 选择目标节点,假设你已经有了剧集元素的引用
    const targetNode = document.querySelector('.playing');
    console.log(targetNode ? '找到剧集元素' : '未找到剧集元素');

    // 开始监控目标节点
    if (targetNode) {
        observer.observe(targetNode, config);
    } else {
        console.log('未找到剧集元素');
    }

    // 注意:根据需要,你可能还需要在适当的时候停止观察
    // observer.disconnect();
})();

QingJ © 2025

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