排查
worker 中的代码报错,在页面的控制台是看不到的。
需要在浏览器中输入 chrome://inspect
找到sharedWorker ,再找到标签页,
再点击inspect,打开worker专属控制台即可。
原因
我是由于sharedWorker 中的代码,使用了window, document 变量,而再worker环境中的是没有的,因此导致worker线程报错。
解决
window 使用 self 替代。
document 使用 self.document 先判断是否存在。