出现的问题
ios手机退出页面,但是没有清除后台,再次进入页面,页面中的动效消失(有的手机会出现偶尔的闪动)。动效是使用css3的animation实现的。
解决方法
使用Document:visibilitychange 事件,当用户退出页面再次进入时会触发这个事件。
参考文档:Document:visibilitychange 事件
代码如下:
// 判断是否是ios手机
const isIOS = !!navigator.userAgent.match(/(i[^;]+;( U;)? CPU.+Mac OS X)/);
// 是ios手机且触发visibilitychange事件,重新加载页面
document.addEventListener('visibilitychange', () => {
if (isIOS) {
window.location.reload()
}
})
虽然解决了问题,但是不清楚问题出现的原因。这种方法是目前我所能找到的解决方法。