В чем разница между Shared Worker и Worker в HTML5? - PullRequest
50 голосов
/ 21 июля 2011

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

Я не понимаю. В чем разница между Worker и SharedWorker?

Ответы [ 4 ]

28 голосов
/ 21 июля 2011

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

11 голосов
/ 21 июля 2011

SharedWorker's, кажется, обладает большей функциональностью, чем Worker.

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

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

W3C Spec:

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

7 голосов
/ 16 января 2017

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

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

7 голосов
/ 21 июля 2011

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

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

...