我正在尝试创建一个jQuery/Javascript函数,通过该函数,来自网页上多个div
的数据可以在Chrome中的相邻窗口或选项卡上填写表格。
我可以捕获数据,但有没有方法访问其他选项卡,或者我必须创建Chrome扩展?
取决于您是否可以控制这两个页面。
-
如果你不控制接收页面,那么访问其DOM的唯一方法就是通过Chrome扩展注入内容脚本。它将能够访问页面的表格来填写,并通过后台页面等与其他选项卡进行通信。
如果您想尝试开发这样的扩展,我强烈建议您仔细阅读Overview页面。
-
如果你确实控制了有问题的页面,这是一个有点奇怪的目标,但可以实现。
-
假设这些页面在同一个域上。然后,它们共享
localStorage
/sessionStorage
,如果在另一个中修改change
事件,则会在其中一个中激发该事件。 -
如果它们不在同一个域中,但您同时控制它们,则可以考虑使用
postMessage
来传输数据。
-
不过请注意:您的问题是"传输DOM数据"。上面的所有解决方案都只传输JSON可序列化数据(或字符串)。一些与DOM相关的数据,如HTMLElement
本身,无法完全序列化。