12
src/client/scripts/unison-reload.ts
Normal file
12
src/client/scripts/unison-reload.ts
Normal 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));
|
Reference in New Issue
Block a user