You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JS实现未检测到指定Subscribe按钮时自动刷新页面直至元素出现

问题修复方案

核心修改点

  • 补全YouTube域名下的按钮不存在时自动刷新逻辑,原代码仅实现了非YouTube站点的自动刷新逻辑
  • 优化定时器执行逻辑,减少不必要的性能消耗
  • 完全保留原有随机延迟逻辑,避免固定操作间隔触发站点风控检测

完整修复后代码

$(document).ready(function() {
    if (document.domain === 'www.youtube.com') {
        if (window.opener && window.opener !== window) {
            setTimeout(function() {
                let subscribeBtn = $("#subscribe-button").find('.ytd-subscribe-button-renderer')[0];
                if (typeof subscribeBtn !== 'undefined') {
                    subscribeBtn.click();
                    setTimeout(function() {
                        window.close();
                    }, getRandomSec222(5));
                } else {
                    // 未检测到订阅按钮,自动刷新页面
                    location.reload();
                }
            }, getRandomSec222(3));
        }
    } else {
        execBtnTrigger();

        function execBtnTrigger() {
            setTimeout(function() {
                let targetBtn = $(".single_like_button.btn3-wrap")[0];
                if (typeof targetBtn !== 'undefined') {
                    targetBtn.click();
                } else {
                    location.reload();
                }
            }, getRandomSec222(9));
        }
    }
});

function getRandomSec222(sum) {
    let sec222 = (Math.random() * 4) + sum;
    sec222 = parseFloat(sec222.toFixed(3)) * 1000;
    return sec222;
}

使用说明

  • 代码依赖jQuery运行,需确保目标页面已加载jQuery库
  • 可通过修改getRandomSec222的入参调整等待时间,入参为最小等待秒数,实际等待时间为入参到入参+4秒的随机值

内容的提问来源于stack exchange,提问作者user16672767

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 23:09:03