jsは現在のページがアクティブかどうかをどう判断しますか?

775 ワード

方式1:監聴イベントvisibility changeの具体的な実現方法は以下の通りである.
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]) {    
        alert("     !");
    }else{
        alert("    !")
    }
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
方式2:イベントを傍受するblurとfocus
window.onblur = function(e){
	console.log("     !")
}
window.onfocus = function(e){
	console.log("    !")
}