如何将DOM数据从一个窗口传输到另一个窗口

How to transfer DOM data from one window to another?

本文关键字:窗口 一个 传输 另一个 DOM 数据      更新时间:2023-09-26

我正在尝试创建一个jQuery/Javascript函数,通过该函数,来自网页上多个div的数据可以在Chrome中的相邻窗口或选项卡上填写表格。

我可以捕获数据,但有没有方法访问其他选项卡,或者我必须创建Chrome扩展?

取决于您是否可以控制这两个页面。

  1. 如果你不控制接收页面,那么访问其DOM的唯一方法就是通过Chrome扩展注入内容脚本。它将能够访问页面的表格来填写,并通过后台页面等与其他选项卡进行通信。

    如果您想尝试开发这样的扩展,我强烈建议您仔细阅读Overview页面。

  2. 如果你确实控制了有问题的页面,这是一个有点奇怪的目标,但可以实现。

    • 假设这些页面在同一个域上。然后,它们共享localStorage/sessionStorage,如果在另一个中修改change事件,则会在其中一个中激发该事件。

    • 如果它们不在同一个域中,但您同时控制它们,则可以考虑使用postMessage来传输数据。

不过请注意:您的问题是"传输DOM数据"。上面的所有解决方案都只传输JSON可序列化数据(或字符串)。一些与DOM相关的数据,如HTMLElement本身,无法完全序列化。