gpt4 book ai didi

javascript - 如何为多个选项卡处理一次服务 worker 消息?

转载 作者:行者123 更新时间:2023-11-30 06:13:20 25 4
gpt4 key购买 nike

我有一个应用程序,我想阻止来自另一个选项卡的消息处理。

//client

var msg_chan = new MessageChannel();
// Handler for recieving message reply from service worker
msg_chan.port1.onmessage = function(event){
if(event.data.error){
reject(event.data.error);
}else{
resolve(event.data);
}
};
const id = (new Date().getTime() / 1000).toFixed()
// Send message to service worker along with port for reply
navigator.serviceWorker.controller.postMessage({ message, id }, [msg_chan.port2]);

这样,如果打开了多个选项卡,service worker 会处理两个选项卡中的消息。

// service-worker.js
self.addEventListener('message', event => {
console.log(event.data) // This prints two times if two tabs are open
})

是否可以一次处理消息?

最佳答案

您可以 assign each tab a clientId并将其发送到消息中。

关于javascript - 如何为多个选项卡处理一次服务 worker 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57630840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com