web-dev-qa-db-fra.com

Quelle est la différence entre un travailleur partagé et un travailleur en HTML5?

Après avoir lu ce billet de blog: http://www.sitepoint.com/javascript-shared-web-workers-html5/

Je ne comprends pas. Quelle est la différence entre un Worker et un SharedWorker?

52
Tower

Distinction très basique: un Worker n'est accessible que depuis le script qui l'a créé, un SharedWorker est accessible par n'importe quel script provenant du même domaine.

28
nwellcome

SharedWorker semble avoir plus de fonctionnalités que Worker.

Parmi ces fonctionnalités, il y a:

  • Une portée mondiale partagée. Toutes les instances SharedWorker partagent une seule étendue globale.

Spécifications W3C:

Spécifications WHATWG:

11
Raynos

Un travailleur partagé peut travailler avec plusieurs connexions. Il publie des messages sur les ports pour permettre la communication entre différents scripts.

Un travailleur dédié, d'autre part, est simplement lié à sa connexion principale et ne peut pas envoyer de messages à d'autres scripts (travailleurs).

7
Mrchief

Pour tous ceux qui envisagent d'utiliser SharedWorker - Apple a supprimé le support de SharedWorker de WebKit en 2015. Dans leur feuille de route actuelle il n'y a pas de plan de réimplémentation. for Service Workers est actuellement en cours de développement pour WebKit et offre des capacités similaires ( voir ici pour les comparaisons ).

Vous pouvez suivre le développement (aka support Safari) de ServiceWorkers dans WebKit ici .

7
Martijn van Halen