在开发一个h5活动的倒计时功能中, 使用了setInterval, 遇到在ios系统中页面挂起时, 倒计时功能就暂停不计时的问题, 用了以下的方法解决的
用的vue开发的, 在mounted中写入以下代码, 监听document.hidden, 判断页面的挂起(隐藏)和显示, 如果页面显示(!document.hidden), 则清除旧的定时器timer, 重新调用接口getActivityInfo获取服务器中的活动时间
document.addEventListener("visibilitychange", () => {
if (!document.hidden) {
clearInterval(this.timer)
this.getActivityInfo()
}
})