PreloadJS 進階使用

管理載入順序

var queue = new createjs.LoadQueue();
// 確保 Script 載入順序為優先,預設為 true。所以可以不必特別設定。
queue.maintainScriptOrder = true; 
queue.loadManifest([
    "script1.js",
    "script2.js",
    "image1.png",
    // 使用 maintainOrder 保持其他物件的載入順序
    {src: "image2.png", maintainOrder: true}, 
    "image3.png",
    // 將會等待 image2.png 先行載入(在 XHR 支援的情況下會等待 image2.png 載入完畢)
    "script3.js" 
]);

物件可以一起同時載入的數量

queue.setMaxConnections(3);

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();