例如,我可以卸载一项任务并允许用户在 javascript 运行时继续浏览我的网站吗?
似乎如果我离开页面,工作人员就会终止。
浏览器中的“页面导航”意味着曾经存在的所有内容(HTML、CSS、JavaScript、插件等)都不再存在,并且新页面的加载就像您打开了一个新的浏览器窗口一样。Web 工作者在“Web 应用程序”的上下文中比“网页”更有意义。如果您正在编写一个存在于浏览器中的应用程序,请考虑放弃“页面”隐喻并构建一个不需要在每次更改上下文时浏览浏览器的 UI。
我没有亲自尝试过,但是......有所谓的Shared Web Workers。假设它们可以从相同来源的任何脚本访问。据我了解,这意味着可以从多个浏览器窗口访问它。我想如果您只是在同一页面上导航,它不应该被终止。对不起,如果我错了,但也许这正是你需要的;)