Я не понимаю. Какая разница между a Worker и a SharedWorker?
Ответ 1
Очень простое разделение: Worker можно получить только из созданного script, SharedWorker можно получить с помощью любого script, который поступает из того же домена.
Ответ 2
SharedWorker, похоже, имеет больше функциональности, чем Worker.
Среди этих функций:
Общая глобальная область. Все экземпляры SharedWorker имеют общую глобальную область.
Общий рабочий может работать с несколькими соединениями. Он отправляет сообщения в порты, чтобы обеспечить связь между различными сценариями.
С другой стороны, выделенный работник просто привязан к своему основному соединению и не может отправлять сообщения другим сценариям (рабочим).
Ответ 4
Кому-нибудь, кто хочет использовать SharedWorker - Apple удалил поддержку SharedWorker из WebKit в 2015 году. В своем текущей дорожной карте нет плана для повторной реализации. Поддержка Работники службы в настоящее время разрабатываются для WebKit и предлагают аналогичные возможности (см. Здесь для сравнения).