---恢复内容开始---
原理就是通过页面标签切换事件(visibilitychange)来判断,亦可用户移动端桌面和app切换。
先看代码:
var hiddenProperty = 'hidden' in document ? 'hidden' :
'webkitHidden' in document ? 'webkitHidden' :
'mozHidden' in document ? 'mozHidden' :
null;
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
var onVisibilityChange = function(){
if (!document[hiddenProperty]) {
console.log('页面激活');
}else{
console.log('页面隐藏')
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
pageshow和pagehide事件只会在页面加载和卸载,或者地址栏前进和后退的时候出现,不能检测到切换桌面的事件。