在我当前的网站上,我正在尝试制作一个Cookie Clicker类型的游戏...但是,当我以每秒货币的速度运行收集器时,切换选项卡时它会变慢...
这是脚本:
setInterval(ppsCollector,16.6666666667);
function ppsCollector() {
var ppf = pps / 60;
pounds += ppf;
document.getElementById("poundCount").innerHTML = metricAbbreviate(pounds);
document.getElementById("pps").innerHTML = metricAbbreviate(pps);
}
失去焦点时,是否有任何方法可以相同的速度运行?
感谢您提前提供的所有帮助。 :)
最佳答案
在对这个问题进行了一些研究之后,看起来浏览器强行增加了背景标签的间隔,以防止机器在打开大量标签时降低速度。但是,您可以实现一些解决方法(有关完整列表,请参见here)。
我建议您看一下HTML5 Web Workers。唯一的缺点是它们无法直接访问DOM,因此您将需要利用PostMessage
方法将消息发送回父JavaScript以便更新所需的元素。