当我最小化浏览器窗口时,脚本停止运行.如何修复它

When I minimize the browser window, the script stops. How fix it?

本文关键字:运行 何修复 脚本 最小化 浏览器 窗口      更新时间:2023-09-26

以下情况:有一个单窗口应用程序(带有旋转卷轴的游戏),如果应用程序运行的浏览器选项卡没有失去焦点,则运行良好。但有必要最小化浏览器窗口(或切换到另一个选项卡),然后返回,然后应用程序停止。这不是立即发生的,而是在不同的时间内(从几秒到几分钟),在相同的旋转周期内。使用requestAnimationFrame()构建的动画。如何解决这个问题?

var lastTime = Date.now();
function main() {
  var now = Date.now();
  var dt = Math.min((now - lastTime), 20) / 1000.0;
  update(dt);
  render();
  lastTime = now;
  requestAnimationFrame(main);
}

问题解决如下:"requestAnimationFrame"被"setTimeout"取代,它在web-Worker (https://github.com/turuslan/HackTimer)中运行