VueJS блокирует активность на неактивной вкладке браузера - PullRequest
0 голосов
/ 28 мая 2019

У меня есть веб-приложение, написанное на Typescript и VueJS, которое выполняет набор задач (запросы ajax) и отслеживает весь процесс (и выполняет одну задачу за другой). Я использую экземпляр Vue в качестве шины для уведомления об изменениях между компонентами. , Если пользователь откроет новую вкладку браузера, процесс остановится. Если пользователь вернется, процесс возобновится.

Эта проблема присутствует в Firefox и в Chrome. Я вставил в свой код простой window.setInterval, чтобы каждые 2 секунды регистрировать «Hello» и ... удивительно, у меня «Hello» каждые 2 секунды без какой-либо временной «дыры». Я вижу очень старую проблему в github для аналогичной ситуации: https://github.com/vuejs/Discussion/issues/76, но, похоже, она слишком старая, чтобы быть такой.

Я ожидаю, что процесс не останавливается, а продолжается без прерываний ..

1 Ответ

1 голос
/ 28 мая 2019

https://developers.google.com/web/updates/2017/03/background_tabs

Фоновые вкладки могут оказать существенное негативное влияние на производительность браузера, особенно на время автономной работы.Чтобы смягчить это, Chrome налагает различные ограничения на фоновые вкладки в течение последних нескольких лет.В последнее время был предпринят ряд усилий для дальнейших улучшений, и в этом документе дается обзор политики Chrome.Этот документ посвящен описанию текущих политик в Chrome 57. Долгосрочная стратегия и дальнейшие планы можно найти в этом документе.

https://www.chromestatus.com/feature/6172836527865856

В качестве вмешательства мыхотите ограничить, сколько ЦП разрешено использовать фоновой странице, и ограничить очереди таймера при нарушении этого ограничения.Текущая цель - уровень загрузки ЦП фоновой страницы должен быть ниже 1%.

...