2
0
Ответвление 0
ответвлён от rebillar/site-accueil-insa
site-accueil-insa/matomo/node_modules/visibilityjs/lib/visibility.fallback.js

53 строки
1,7 КиБ
JavaScript
Исходный Авторство История

Этот файл содержит неоднозначные символы Юникода

Этот файл содержит символы Юникода, которые легко спутать с похожими. Если так и должно быть, можете спокойно игнорировать это предупреждение. Отобразить символы можно кнопкой Экранирования.

// Add Page Visibility API support to old browsers by focus/blur hack.
//
// Include this script _before_ Visibility.js.
//
// Note, that this hack doesnt correctly emulate Page Visibility API:
// when user change focus from browser to another window (browser and your
// page may stay visible), this hack will decide, that you page is hidden.
//
// For Firefox 5–9 it will be better to use MozVisibility hack without
// this issue. See <https://github.com/private-face/mozvisibility>.
;(function (document) {
if ( document.visibilityState || document.webkitVisibilityState ) {
return;
}
document.hidden = false;
document.visibilityState = 'visible';
var event = null
var i = 0
var fireEvent = function () {
if( document.createEvent ) {
if ( !event ) {
event = document.createEvent('HTMLEvents');
event.initEvent('visibilitychange', true, true);
}
document.dispatchEvent(event);
} else {
if ( typeof(Visibility) == 'object' ) {
Visibility._change.call(Visibility, { });
}
}
}
var onFocus = function () {
document.hidden = false;
document.visibilityState = 'visible';
fireEvent();
};
var onBlur = function () {
document.hidden = true;
document.visibilityState = 'hidden';
fireEvent();
}
if ( document.addEventListener ) {
window.addEventListener('focus', onFocus, true);
window.addEventListener('blur', onBlur, true);
} else {
document.attachEvent('onfocusin', onFocus);
document.attachEvent('onfocusout', onBlur);
}
})(document);