Что произойдет с веб-рабочим, если я закрою страницу, созданную этим веб-рабочим?

Предположим, у меня есть страница Main.html, которая создает веб-рабочего. Если я закрою главную страницу, изменив window.location, прекратит ли веб-рабочий или будет ли веб-рабочий все еще работать?

Как Firefox или Chrome предпочитают «обрабатывать длительные рабочие задачи после закрытия страницы»? Если задача работника – отправить очень быстрый запрос POST, в этом случае браузер немедленно прекратит работу после закрытия страницы, или браузер разрешит работнику завершить свой запрос POST?

  • Аутентификация API-шлюза с помощью Cognito Federated Identities
  • Формат Время в формате Angular JS
  • Загрузка изображения с использованием кросс-оригинала, запрещенная политикой совместного использования ресурсов Cross-Origin
  • Typeerror: app.use () требует функции промежуточного программного обеспечения
  • ReactJS this.state null
  • Программно перемещаться с помощью реагирующего маршрутизатора
  • Вставить данные из буфера обмена с помощью document.execCommand («paste»); В расширении firefox
  • Анимированные jQuery-анимации - прерывистые и заикающиеся в Firefox
  • Позиция предупреждения Javascript не в центре в хроме
  • Как получить значение громкости входа микрофона с помощью веб-аудио api?
  • Почему Firefox 6 игнорирует мои настройки высоты, ширины, сверху и слева в окне javascript window.open?
  • Всплывающие окна не работают в JQueryMobile 1.3.2 после обновления версии chrome 43.0.2357.65 m
  • One Solution collect form web for “Что произойдет с веб-рабочим, если я закрою страницу, созданную этим веб-рабочим?”

    Закрытие или переход от страницы заставляет браузер отказаться от документа страницы :

    Пользовательские агенты могут в любой момент отказаться от контекстов просмотра верхнего уровня (как правило, в ответ на запросы пользователей, например, когда пользователь закрывает окно, содержащее один или несколько контекстов просмотра на верхнем уровне).

    Спецификация W3C Worker говорит, что у Рабочего есть «список Document s». Для рабочих, созданных веб-страницей с window (т. Е. Не рабочим), список состоит из одного Document страницы, породившего его. Спекуляция гласит:

    Всякий раз, когда объект Document отбрасывается, его необходимо удалить из списка рабочих Documents каждого работника, чей список содержит этот Документ.

    А также что:

    Работник считается допустимым работником, если его рабочий Document не пуст.

    Это определение используется позже:

    Закрытие сиротских работников: начните контролировать работника таким образом, чтобы … не позднее, чем он переставал быть допустимым рабочим, флаг закрытия рабочей области рабочего объекта равен true.

    Наконец, «флаг закрытия» предотвращает новую активность для рабочего:

    Как только флаг закрытия WorkerGlobalScope установлен в true, очереди задач цикла событий должны отбросить любые дополнительные задачи, которые будут добавлены к ним (задачи, уже находящиеся в очереди, не затрагиваются, кроме случаев, когда указано иное). Эффективно, как только флаг закрытия верен, таймеры прекращают стрельбу, удаляются уведомления для всех ожидающих асинхронных операций и т. Д.

    Любой старый, давно работающий вид активности может быть остановлен браузером, но не обязательно:

    Пользовательские агенты могут ссылаться на модель обработки «убить рабочего» на рабочем месте в любое время, например, в ответ на запросы пользователя, в ответ на управление квотами ЦП или когда рабочий перестает быть активным необходимым работником, если рабочий продолжает выполнение даже после Его флаг закрытия был установлен в true.

    Таким образом, спецификация W3C позволяет работнику продолжать работать, но не позволяет ему обрабатывать дальнейшие события (рабочие сообщения, таймеры, обратные вызовы в сети и т. Д.). Определенный браузер может в любой момент убить работника по соображениям производительности. Способ, которым каждый браузер предпочитает обрабатывать длительные рабочие задачи после закрытия страницы, выходит за рамки спецификации; Он определяется реализацией. Вы не должны зависеть от этого поведения так или иначе: вы должны терпеть немедленное прекращение, а также терпеть любые длительные задачи, которые не сразу заканчиваются закрытием страницы.

    Общие работники подчиняются тем же правилам, за исключением того, что их список Document содержит все используемые в настоящее время Documents , поэтому их флаг закрытия устанавливается только после закрытия всех Documents .

    JavaScript делает сайт умным, красочным и простым использованием.