Да, это останавливает все, (выделенный) работник не может пережить своего владельца. Если вы используете совместно используемого работника, у которого может быть несколько владельцев, работник останется в живых, пока жив хотя бы один владелец. Это имеет место, даже если вы передаете запутанное MessagePort
другому окну (то есть владельцем порта сообщения является , а не владельцем рабочего).
Таким образом, с общими сотрудниками вы можете «передать» право собственности, открыв новое окно, которое устанавливает свое собственное соединение с работником (с помощью new SharedWorker(...)
), а затем закройте старое окно. Но одно окно всегда должно оставаться открытым.