概述SharedWorker 在同源内可被多个页面连接,适合统一的网络连接、缓存与计算。通过 `connect` 事件获取 `MessagePort` 并进行消息广播。用法/示例// main const sw = new SharedWorker('/shared.js') sw.port.start() sw.port.postMessage({ type: 'join', id: Date.now() }) sw.port.onmessage = e => console.log('broadcast', e.data) // shared.js const ports = [] onconnect = e => { const port = e.ports[0] ports.push(port) port.onmessage = ev => { for (const p of ports) p.postMessage(ev.data) } } 工程建议妥善管理端口与错误,避免泄漏与广播风暴;可按需做节流与去重。对关键共享资源进行锁与队列治理(结合 Web Locks)。在不支持环境回退至 BroadcastChannel 或服务器端协调。参考与验证MDN:SharedWorker — https://developer.mozilla.org/docs/Web/API/SharedWorkerHTML:Shared workers — https://html.spec.whatwg.org/multipage/workers.html#shared-workers

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.023601s