2017-06-06 93 views
0

我目前正在处理webExtension,并将我的webExtension的html注入到iframe中。我想将任意网页中的内容拖入iframe中的可拖放区域,并将其显示在可拖放区域中。我有一个dragstartListener,它使用postMessage发送每次侦听dragstart事件时拖动元素的HTML文档。但是postMessage不能发送带有方法的对象。有没有其他的方法来实现这个功能?谢谢!可以postMessage发送更复杂的对象

+0

JSON.stringify/parse ...所以你可以。但是这意味着你不能简单地传递一个函数并在另一边调用它。 –

+0

为什么不在iframe中实现网站上的功能,以便您可以将内容“发送”到iframe,然后在另一侧使用该功能 –

+0

感谢您的评论!乔纳斯:我尝试使用JSON.stringify/parse,但大部分对象在被解析回去后变为null,因为它们里面有方法。 @Matthias:我试图将内容发送到Iframe,但是我的函数需要元素的HTML文档,并且它不能通过postMessage发送。 –

回答

0

我想出了一个解决方案:使用XMLSerializer。

XML序列化器实际上可以将dom元素序列化为字符串。 Postmessage可以安全地将字符串发送到另一个窗口。