diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index be71b06c1..483d0ddb2 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -177,12 +177,16 @@ onVisibilityChange: function (event) { var icinga = event.data.self.icinga; - if !!(document.visibilityState === undefined || document.visibilityState === 'visible') { - icinga.logger.info('Page visible, enabling auto-refresh'); - icinga.loader.enableAutorefresh() - } else { - icinga.logger.info('Page invisible, disabling auto-refresh'); - icinga.loader.disableAutorefresh() + if (icinga.loader.autorefreshEnabled === true || icinga.autorefreshSuspended === true) { + if (document.visibilityState === undefined || document.visibilityState === 'visible') { + icinga.autorefreshSuspended = false; + icinga.logger.info('Page visible, enabling auto-refresh'); + icinga.loader.enableAutorefresh() + } else { + icinga.autorefreshSuspended = true; + icinga.logger.info('Page invisible, disabling auto-refresh'); + icinga.loader.disableAutorefresh() + } } }, diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index 4b19ef15d..0daff0392 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -31,6 +31,8 @@ this.iconCache = {}; this.autorefreshEnabled = true; + + this.autorefreshSuspended = false; }; Icinga.Loader.prototype = {