diff --git a/web/skins/classic/views/js/montage.js b/web/skins/classic/views/js/montage.js index 50972c691..742960439 100644 --- a/web/skins/classic/views/js/montage.js +++ b/web/skins/classic/views/js/montage.js @@ -1105,11 +1105,15 @@ $j(window).on('load', () => initPage()); document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { - //Stop monitors when closing or hiding page - for (let i = 0, length = monitorData.length; i < length; i++) { - monitors[i].kill(); - } + TimerHideShow = clearTimeout(TimerHideShow); + TimerHideShow = setTimeout(function() { + //Stop monitors when closing or hiding page + for (let i = 0, length = monitorData.length; i < length; i++) { + monitors[i].kill(); + } + }, 15*1000); } else { + TimerHideShow = clearTimeout(TimerHideShow); //Start monitors when show page for (let i = 0, length = monitorData.length; i < length; i++) { if (!monitors[i].started) { @@ -1119,6 +1123,7 @@ document.onvisibilitychange = () => { } }; + /* window.onbeforeunload = function(e) { console.log('unload'); diff --git a/web/skins/classic/views/js/watch.js b/web/skins/classic/views/js/watch.js index df7df9428..16e2d5d8a 100644 --- a/web/skins/classic/views/js/watch.js +++ b/web/skins/classic/views/js/watch.js @@ -24,6 +24,7 @@ var coordinateMouse = { }; var leftBtnStatus = {Down: false, UpAfterDown: false}; var updateScale = false; //Scale needs to be updated +var TimerHideShow; /* This is the format of the json object sent by bootstrap-table @@ -1407,8 +1408,11 @@ $j( window ).on("load", initPage); document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { - //Stop monitor when closing or hiding page - monitorStream.kill(); + TimerHideShow = clearTimeout(TimerHideShow); + TimerHideShow = setTimeout(function() { + //Stop monitor when closing or hiding page + monitorStream.kill(); + }, 15*1000); } else { //Start monitor when show page if (!monitorStream.started) { diff --git a/web/skins/classic/views/js/zone.js b/web/skins/classic/views/js/zone.js index d8a1bdb92..4c3b9f317 100644 --- a/web/skins/classic/views/js/zone.js +++ b/web/skins/classic/views/js/zone.js @@ -7,6 +7,7 @@ var refreshBtn = $j('#refreshBtn'); var analyseBtn = $j('#analyseBtn'); var monitors = []; var analyse_frames = true; +var TimerHideShow; function validateForm( form ) { var errors = []; @@ -763,10 +764,13 @@ function Polygon_calcArea(coords) { document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { - //Stop monitors when closing or hiding page - for (let i = 0, length = monitorData.length; i < length; i++) { - monitors[i].kill(); - } + TimerHideShow = clearTimeout(TimerHideShow); + TimerHideShow = setTimeout(function() { + //Stop monitors when closing or hiding page + for (let i = 0, length = monitorData.length; i < length; i++) { + monitors[i].kill(); + } + }, 15*1000); } else { //Start monitors when show page for (let i = 0, length = monitorData.length; i < length; i++) { diff --git a/web/skins/classic/views/js/zones.js b/web/skins/classic/views/js/zones.js index 132fb768a..0b7303cb9 100644 --- a/web/skins/classic/views/js/zones.js +++ b/web/skins/classic/views/js/zones.js @@ -5,6 +5,7 @@ function AddNewZone(el) { } var monitors = new Array(); +var TimerHideShow; function initPage() { for ( var i = 0, length = monitorData.length; i < length; i++ ) { @@ -54,10 +55,13 @@ window.addEventListener('DOMContentLoaded', initPage); document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { - //Stop monitors when closing or hiding page - for (let i = 0, length = monitorData.length; i < length; i++) { - monitors[i].kill(); - } + TimerHideShow = clearTimeout(TimerHideShow); + TimerHideShow = setTimeout(function() { + //Stop monitors when closing or hiding page + for (let i = 0, length = monitorData.length; i < length; i++) { + monitors[i].kill(); + } + }, 15*1000); } else { //Start monitors when show page for (let i = 0, length = monitorData.length; i < length; i++) {