Javascript перезагружает страницу каждые 5 секунд, когда браузер сведен к минимуму

На самом деле мы воспроизводим звук уведомления, когда какое-то обновление происходит в базе данных, поэтому я пытаюсь перезагрузить страницу каждые 5 секунд, когда браузер свернут, это отлично работает в Firefox, но в Chrome это не работает.

Сценарий:

Свернуть браузер и оставить компьютер в режиме ожидания.

Я пробовал два метода:

Метод 1:

   <meta http-equiv="refresh" content="5;URL=http://example.com/" />

Метод 2:

 <script>

   $(document).ready(function () {

   setTimeout(function(){
    window.location.reload(1);
    }, 5000);

    });

 </script>

Любая помощь будет большой.

Ответ 1

События размытие и фокус могут определять состояние просмотра окна.

Пример:

 var timer = null;

 //when the window is minimized or when user is in different tab . 
    window.addEventListener('blur', function(){

       timer = setInterval(function(){

          window.location.reload(1);

       },5000)

    }, false);


//when user is back to window
    window.addEventListener('focus', function(){

        //stop the page reload once 

        if(timer != null){

        clearInterval(timer);

      }
    }, false);

Надеюсь, что это поможет.