2012-01-16 30 views

Respuesta

11

Sí, lo detiene todo, un trabajador (dedicado) no puede sobrevivir a su dueño. Si usa un trabajador compartido, que puede tener varios propietarios, el trabajador solo permanecerá vivo mientras haya al menos un propietario vivo. Este es el caso incluso si transfiere el MessagePort enredado a otra ventana (es decir, el propietario del puerto de mensajes es no el propietario del trabajador).

Por lo tanto, con los trabajadores compartidos puede "transferir" la propiedad abriendo una nueva ventana que establezca su propia conexión con el trabajador (con new SharedWorker(...)) y luego cierre la ventana anterior. Pero una ventana siempre debe permanecer abierta.

3

Echa un vistazo aquí

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

Yo creo se confirma que una vez que el navegador se va, los trabajadores deben parar.

Cada vez que se descarta un objeto de documento, que debe ser eliminado de la lista de documentos del trabajador de cada trabajador cuya lista contiene ese documento .

En el caso de que usted tiene una ventana usando trabajadores web, y se cierra la ventana (o pestaña), el trabajador desaparece.

Si tiene un caso en el que tiene una ventana, que abre otras ventanas o pestañas, los trabajadores pueden continuar. Pero si cierras todo, todos se van.

+1

Solo para aclarar, ya que la discusión se centra en las nuevas ventanas, esto también debería aplicarse a las nuevas cargas de página. Al cargar una nueva página, se descarta el objeto del documento actual (el trabajador web se va) y se vuelve a crear en la carga de documentos nuevos. – ElHaix

Cuestiones relacionadas