Подтвердить что ты не робот

Какая разница между общим рабочим и рабочим в HTML5?

После прочтения этого сообщения в блоге: http://www.sitepoint.com/javascript-shared-web-workers-html5/

Я не понимаю. Какая разница между a Worker и a SharedWorker?

4b9b3361

Ответ 1

Очень простое разделение: Worker можно получить только из созданного script, SharedWorker можно получить с помощью любого script, который поступает из того же домена.

Ответ 2

SharedWorker, похоже, имеет больше функциональности, чем Worker.

Среди этих функций:

  • Общая глобальная область. Все экземпляры SharedWorker имеют общую глобальную область.

Спецификация W3C:

WHATWG Spec:

Ответ 3

Общий рабочий может работать с несколькими соединениями. Он отправляет сообщения в порты, чтобы обеспечить связь между различными сценариями.

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

Ответ 4

Кому-нибудь, кто хочет использовать SharedWorker - Apple удалил поддержку SharedWorker из WebKit в 2015 году. В своем текущей дорожной карте нет плана для повторной реализации. Поддержка Работники службы в настоящее время разрабатываются для WebKit и предлагают аналогичные возможности (см. Здесь для сравнения).

Вы можете следить за развитием (например, поддержкой Safari) ServiceWorkers в WebKit здесь.