当前位置:首页 > JavaScript

js实现挂机

2026-03-02 06:05:50JavaScript

使用 setInterval 实现定时任务

通过 setInterval 可以周期性执行特定代码,适用于模拟挂机操作。例如每 5 秒执行一次动作:

const intervalId = setInterval(() => {
    console.log("执行挂机任务...");
    // 这里添加具体操作,如点击按钮、发送请求等
}, 5000);

// 停止挂机
// clearInterval(intervalId);

监听页面元素自动交互

结合 MutationObserver 监听 DOM 变化并触发操作,适用于需要动态响应的场景:

const observer = new MutationObserver((mutations) => {
    const targetButton = document.querySelector("#auto-btn");
    if (targetButton) {
        targetButton.click(); // 自动点击按钮
    }
});
observer.observe(document.body, { childList: true, subtree: true });

模拟键盘/鼠标事件

通过 dispatchEvent 触发事件,实现自动化输入或点击:

// 模拟键盘输入
const inputEl = document.querySelector("#input-field");
inputEl.dispatchEvent(new KeyboardEvent("keydown", { key: "A" }));

// 模拟鼠标点击
const buttonEl = document.querySelector("#submit-btn");
buttonEl.dispatchEvent(new MouseEvent("click"));

使用 requestIdleCallback 优化性能

在浏览器空闲时执行低优先级任务,避免阻塞主线程:

js实现挂机

function runIdleTask() {
    requestIdleCallback(() => {
        console.log("后台挂机中...");
        runIdleTask(); // 递归调用保持持续运行
    });
}
runIdleTask();

注意事项

  • 避免高频操作:间隔时间不宜过短(如低于 1 秒),可能被检测为异常行为。
  • 跨域限制:脚本仅对当前页面生效,无法直接操作跨域 iframe 或浏览器标签页。
  • 页面刷新:挂机脚本通常在页面刷新后失效,需配合浏览器插件(如 Tampermonkey)持久化。

完整示例(自动点击按钮)

// 每 3 秒点击一次指定按钮
const interval = setInterval(() => {
    const btn = document.querySelector("#target-button");
    if (btn) btn.click();
}, 3000);

// 10 分钟后停止
setTimeout(() => clearInterval(interval), 600000);

标签: js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…