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>

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

 atheaos14 июл. 2016 г., 16:41
Chrome ведет себя по-разному с синхронизированными событиями, когда браузер не имеет фокуса. Я не пробовал это с Firefox на рабочем столе, но и Firefox, и Chrome на мобильном устройстве перестали запускать несколько синхронизированных событий.
 stom14 июл. 2016 г., 15:59
@Vision, но автоматическая перезагрузка работает в Firefox, даже когда окно браузера свернуто, почему бы не в Chrome?
 KRONWALLED14 июл. 2016 г., 16:20
Зачем вам перезагружать всю страницу, когда вы можете просто получить обновленные данные с сервера? Во всяком случае не будетwindow.location.href = window.location.href; Работа?
 VisioN14 июл. 2016 г., 15:56
Вы не можете определить из клиентского JavaScript, что окно браузера свернуто.

Ответы на вопрос(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);

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

Ваш ответ на вопрос