2022-11-24 18:27:05 +09:00
|
|
|
// SafariがBroadcastChannel未実装なのでライブラリを使う
|
2022-04-28 02:57:59 +09:00
|
|
|
import { BroadcastChannel } from 'broadcast-channel';
|
|
|
|
|
|
|
|
export const reloadChannel = new BroadcastChannel<string | null>('reload');
|
2021-02-17 21:36:56 +09:00
|
|
|
|
|
|
|
// BroadcastChannelを用いて、クライアントが一斉にreloadするようにします。
|
2021-11-05 00:09:13 +09:00
|
|
|
export function unisonReload(path?: string) {
|
|
|
|
if (path !== undefined) {
|
|
|
|
reloadChannel.postMessage(path);
|
|
|
|
location.href = path;
|
|
|
|
} else {
|
|
|
|
reloadChannel.postMessage(null);
|
|
|
|
location.reload();
|
|
|
|
}
|
2021-02-17 21:36:56 +09:00
|
|
|
}
|