Implement unison reload
This commit is contained in:
tamaina
2021-02-14 21:23:36 +09:00
parent cc9bc7703a
commit 412db316cc
12 changed files with 89 additions and 12 deletions

View File

@@ -0,0 +1,12 @@
// SafariがBroadcastChannel未実装なのでライブラリを使う
import { BroadcastChannel } from 'broadcast-channel';
const ch = new BroadcastChannel<boolean | undefined>('reload');
// BroadcastChannelを用いて、クライアントが一斉にreloadするようにします。
export function unisonReload(forcedReload?: boolean) {
ch.postMessage(forcedReload);
location.reload(forcedReload as boolean);
}
ch.addEventListener('message', forcedReload => location.reload(forcedReload as boolean));