Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 978 Bytes

different-window-channel.md

File metadata and controls

43 lines (33 loc) · 978 Bytes

浏览器不同窗口间通信

Broadcast Channel

page 1

var channel = new BroadcastChannel("channel-BroadcastChannel");
    channel.postMessage('Hello, BroadcastChannel!')

page 2

var channel = new BroadcastChannel("channel-BroadcastChannel");
    channel.addEventListener("message", function(ev) {
        console.log(ev.data)
    });

注意:存在兼容性问题,can i use BroadcastChannel

StorageEvent

StorageEvent:https://developer.mozilla.org/en-US/docs/Web/API/StorageEvent

Page 1

localStorage.setItem('message',JSON.stringify({
    message: '消息'
    from: 'Page 1',
    date: Date.now()
}))

Page 2

window.addEventListener("storage", function(e) {
    console.log(e.key, e.newValue, e.oldValue)
});

reference