解决的场景:
当前系统点击列表,打开了新窗口详情页(window.open),然后在新窗口详情页进行状态更改操作成功之后,点击原标签页,希望原标签页自动刷新列表更新状态
当然了,父标签页调用子标签页的话
1.父标签const variable= window.open(url); variable.func();
2.子标签 window.func() = func();
iframe也是同理,
1 在子窗口中调用父窗口的函数
window.parent.parentFunction();
2在父窗口中调用子窗口的函数(使用 window.frames) window.frames['frameName'].childFunction();
// 在父窗口中调用子窗口的函数 document.getElementById('frameId').contentWindow.childFunction();
3. 通过 postMessage 进行跨窗口通信
// 发送消息给子窗口 var childWindow = document.getElementById('myIframe').contentWindow; childWindow.postMessage('Hello from parent!', 'https://www.example.com');
// 监听来自父窗口的消息 window.addEventListener('message', function(event) { if (event.origin === 'https://www.example.com') { console.log('Message received in child window: ' + event.data); } });