Page Focus Detection

音樂或音效常常會持續播放,儘管瀏覽器已經在背景模式。
利用這個小工具偵測網頁目前是否正被使用,並暫停網站的一些功能。

See the Pen PSpageFocusDetection by Monkianer (@monkianer) on CodePen.

var pageFocusDetection = {
	interval: null,
	init: function(){
              this.add();
	},
	focusInAction: function(){
		
	},
	focusOutAction: function(){
		
	},
	checkPageFocus: function() {

		var _this = pageFocusDetection;
		if ( document.hasFocus() ) {

			_this.focusInAction();
		} else {

			_this.focusOutAction();
		}
	},
	add: function(){
		pageFocusDetection.interval = setInterval( pageFocusDetection.checkPageFocus, 200 );
	},
	remove: function(){
		clearInterval( pageFocusDetection.interval );
	}
}

用法

pageFocusDetection.focusInAction = function(){
	// 正在使用時才需要的動作,例如:音效
};
pageFocusDetection.focusOutAction = function(){
	// 不在使用時要停止的動作,例如:音效
};
// 初始
pageFocusDetection.init();