mirror of
https://github.com/wassname/cardsforscience.git
synced 2026-08-15 12:15:05 +08:00
Do not generate worker events when not visible
This commit is contained in:
@@ -13,6 +13,8 @@ var detector =
|
||||
list: [],
|
||||
},
|
||||
|
||||
visible: true,
|
||||
|
||||
width: 400,
|
||||
height: 400,
|
||||
|
||||
@@ -268,6 +270,10 @@ var detector =
|
||||
|
||||
addEventExternal: function()
|
||||
{
|
||||
if (!detector.visible) {
|
||||
return;
|
||||
}
|
||||
|
||||
var num = Math.min(30 * achievements.count.workers / 10, 30);
|
||||
|
||||
for (var i = 0; i < num; i++) {
|
||||
|
||||
@@ -7,3 +7,37 @@ $(function() {
|
||||
$('.scrollable').height(h + 'px');
|
||||
});
|
||||
});
|
||||
|
||||
(function() {
|
||||
var hidden = "hidden";
|
||||
|
||||
// Standards:
|
||||
if (hidden in document)
|
||||
document.addEventListener("visibilitychange", onchange);
|
||||
else if ((hidden = "mozHidden") in document)
|
||||
document.addEventListener("mozvisibilitychange", onchange);
|
||||
else if ((hidden = "webkitHidden") in document)
|
||||
document.addEventListener("webkitvisibilitychange", onchange);
|
||||
else if ((hidden = "msHidden") in document)
|
||||
document.addEventListener("msvisibilitychange", onchange);
|
||||
// IE 9 and lower:
|
||||
else if ('onfocusin' in document)
|
||||
document.onfocusin = document.onfocusout = onchange;
|
||||
// All others:
|
||||
else
|
||||
window.onpageshow = window.onpagehide
|
||||
= window.onfocus = window.onblur = onchange;
|
||||
|
||||
function onchange (evt) {
|
||||
var v = 'visible', h = 'hidden',
|
||||
evtMap = {
|
||||
focus:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h
|
||||
};
|
||||
|
||||
evt = evt || window.event;
|
||||
if (evt.type in evtMap)
|
||||
detector.visible = evtMap[evt.type] == 'visible';
|
||||
else
|
||||
detector.visible = !this[hidden];
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user