浏览器两个不同域、不同 tab 之间该如何通信?

目的:a 页面点击之后,b 页面应该刷新(两个页面不用域、不同 tab 页)
由于一些原因,比如在 abc.com 里面是列表,点击右下角新建按钮之后会跳转到 123.com 做相应的逻辑处理,完成后点击保存会保存到 abc.com 对应的后台,保存成功后,切换回 abc.com,此时,列表应该刷新,这之间的通信该怎么解决?
还有个问题,跳转到 123.com 页面时,如何带一部分数据过去?
网上搜了一下,例如 web worker,好像要同域才行;传数据过去,localStorage 之类的也要同域才行

阅读 3.7k
3 个回答

解决了。

  1. 原网页(abc.com) window.open 123.com,
  2. 原网页 window.addEventListener('message', (e) => {})
  3. 目标网页 123.com button.onclick = () => {window.opener.postMessage('data', 'http://123.com')}

websocket 或者 轮询

保存成功后,切换回 abc.com,此时,列表应该刷新,这之间的通信该怎么解决?

后端处理。

跳转到 123.com 页面时,如何带一部分数据过去?

URL。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题