在项目中遇到在浏览器标签栏切换标签时,点击的当前标签页并没有重新加载,导致没有按照预期的js执行,于是就找到监听浏览器标签栏切换的函数。
document.addEventListener('visibilitychange', function() {
if (document.visibilityState=='hidden') {//切离该页面时执行
} else if(document.visibilityState=='visible') {//切换到该页面时执行
}
});
document.visibilityState的值为:
- hidden(当浏览器最小化、切换tab、电脑锁屏时)
- visible(用户正在查看当前页面时)
- prerender(文档加载离屏或者不可见)
- unloaded(当文档将要被unload时)