小编Vũ *_*yễn的帖子

Web Worker 使 setInterval 正常工作

我正在尝试仅使用 javascript 控制台创建一个自动化程序。我需要使用 setInterval 为我的程序创建一个循环。相关部分的代码如下:

freshIntervalId=setInterval(tick,500);

因此“tick”函数每 500 毫秒就会被调用一次。

但问题是,每当浏览器选项卡处于非活动状态时,即我将其最小化以执行其他操作时,setInterval 就会停止工作。当我再次打开浏览器时,它突然重复了很多次,以“补偿”函数未执行的时间。这不是我所期望的。

我听说网络工作者可以解决这个问题。我只需要一(或两)行代码即可通过网络工作者进行工作,但由于我是 IT 业余爱好者,所以我无法理解所有代码行。我只能通过 JS 控制台访问浏览器,并且无法访问 HTML 及其脚本。

我的主要目标是使其循环并正常中断(setInterval 和clearInterval),同时浏览器仍处于非活动模式。

我现在应该怎么做?感谢您的阅读,希望有人能帮我解决这个问题!

javascript setinterval web-worker clearinterval console.log

7
推荐指数
1
解决办法
1万
查看次数

如何在不重置 tampermonkey 脚本的情况下重新加载页面?

我正在使用 javascript 在网站中创建一些自动化操作。我知道当我们点击刷新按钮时,chrome 控制台会被重置,所以我尝试通过 Tampermonkey 来管理它,以便脚本可以从 chrome 控制台单独运行。

但我的问题仍然存在,重新加载页面时,tampermonkey 用户脚本仍然会重置。你能帮我解决这些问题吗?非常感谢!p/s 我是这个编码学科的业余爱好者,所以如果你们能帮助我,我将不胜感激:)

我的脚本的一部分如下所示:

var $balance = $("#balance"),
  $statusBar = $(".progress #banner");

function getStatus() {
  var a = $statusBar.text();
  if (hasSubString(a, "Rolling in")) return "waiting";
  if (hasSubString(a, "***ROLLING***")) return "rolling";
  if (hasSubString(a, "rolled")) {    
var b = parseInt(a.split("rolled")[1]);
return lastRollColor = getColor(b), "rolled"
  }
return "unknown"
}
   function getBalance() {
  return parseInt($balance.text())
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery tampermonkey

4
推荐指数
1
解决办法
1万
查看次数