每次页面收到 websocket 事件时,都会播放通知声音。问题是,如果用户打开了其中 10 个选项卡,则所有 10 个选项卡都会播放声音。
那么有没有办法在所有选项卡中仅运行此代码一次,而不修改服务器端代码?
socket.on('notification', function(){
playSound(); // this will run on every tab, which is annoying
});
最佳答案
我花了相当多的时间开发一个处理这个问题的库,它非常小,你可以像这样锁定:
//locked "critical section" code - runs only once
TabUtils.CallOnce("lockname", function () {
alert("I run only once in multiple tabs");
});
关于javascript:在所有选项卡中运行一次代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740924/