在谷歌浏览器上,当焦点处于当前页面上的时候,浏览器会正确的去执行JS代码,如果当前页面失去焦点后,(比如切换一个选项卡)这个JS会被卸载掉不再执行,谷歌对此的解释是为了释放不必要的内存,当然目前测试发现WIN10 的Edge浏览器并非如此,如谷歌一般的做法有可能会触发一些错误,比如定时器的紊乱,这时需要使用JS的监听功能判断,代码如下
window.addEventListener('focus', function () { setInsertTime = setInterval("play_game.insert_zombine()", 3000); document.title = 'focused'; }, false) window.addEventListener('blur', function () { document.title = 'not focused'; clearInterval(setInsertTime); }, false);
希望大家予以指正