Ответ 1
Очень простое разделение: Worker
можно получить только из созданного script, SharedWorker
можно получить с помощью любого script, который поступает из того же домена.
После прочтения этого сообщения в блоге: http://www.sitepoint.com/javascript-shared-web-workers-html5/
Я не понимаю. Какая разница между a Worker
и a SharedWorker
?
Очень простое разделение: Worker
можно получить только из созданного script, SharedWorker
можно получить с помощью любого script, который поступает из того же домена.
SharedWorker, похоже, имеет больше функциональности, чем Worker.
Среди этих функций:
SharedWorker
имеют общую глобальную область.Спецификация W3C:
WHATWG Spec:
Общий рабочий может работать с несколькими соединениями. Он отправляет сообщения в порты, чтобы обеспечить связь между различными сценариями.
С другой стороны, выделенный работник просто привязан к своему основному соединению и не может отправлять сообщения другим сценариям (рабочим).
Кому-нибудь, кто хочет использовать SharedWorker - Apple удалил поддержку SharedWorker
из WebKit в 2015 году. В своем текущей дорожной карте нет плана для повторной реализации. Поддержка Работники службы в настоящее время разрабатываются для WebKit и предлагают аналогичные возможности (см. Здесь для сравнения).
Вы можете следить за развитием (например, поддержкой Safari) ServiceWorkers в WebKit здесь.