2012-01-16 9 views

risposta

11

Sì, blocca tutto, un lavoratore (dedicato) non può sopravvivere al suo proprietario. Se si utilizza un lavoratore condiviso, che può avere più proprietari, il lavoratore rimarrà attivo solo se almeno un proprietario è vivo. Questo è il caso anche se si trasferisce l'entangled MessagePort in un'altra finestra (ad esempio il proprietario della porta messaggi è non il proprietario del lavoratore).

Quindi, con i lavoratori condivisi è possibile "trasferire" la proprietà aprendo una nuova finestra che stabilisce la propria connessione con l'operatore (con new SharedWorker(...)) e quindi chiude la vecchia finestra. Ma una finestra deve sempre rimanere aperta.

3

dare uno sguardo qui

http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope

Io penso si conferma che una volta che il browser va via, eventuali lavoratori devono fermarsi.

Ogni volta che un oggetto Document viene scartato, deve essere rimosso dalla lista dei documenti del lavoratore di ogni lavoratore il cui elenco contiene che Documento .

Nel caso in cui si disponga di una finestra che utilizza gli operatori Web e si chiude tale finestra (o scheda), l'operatore si allontana.

Se si dispone di un caso in cui si dispone di una finestra, che apre altre finestre o schede, gli addetti possono continuare. Ma se chiudi tutto, se ne vanno tutti.

+1

Giusto per chiarire, poiché la discussione è incentrata sulle nuove finestre, questo dovrebbe applicarsi anche ai nuovi carichi di pagina. Il caricamento di una nuova pagina ignora l'oggetto documento corrente (il web worker si allontana) e viene ricreato sul nuovo caricamento del documento. – ElHaix

Problemi correlati