我需要在主页面和内嵌iframe之间传递大量的数据块。为避免[de]序列化开销,我想使用postMessage()传递ArrayBuffer,并在不同的iframe中实例化指向这个缓冲区的视图。
但是,MDN文档对postMessage()的描述中,message参数如下:
“要发送到其他窗口的数据。使用结构化克隆算法序列化数据。”
这似乎表明,传递“指针”是不可能的,因为 postMessage() 实际上只传递字符串...
有什么变通方法吗?在主线程和工作线程之间传递可转移对象非常有效。将ArrayBuffer传递给C/C++代码的node.js本地扩展也可以正常工作。
但是,MDN文档对postMessage()的描述中,message参数如下:
“要发送到其他窗口的数据。使用结构化克隆算法序列化数据。”
这似乎表明,传递“指针”是不可能的,因为 postMessage() 实际上只传递字符串...
有什么变通方法吗?在主线程和工作线程之间传递可转移对象非常有效。将ArrayBuffer传递给C/C++代码的node.js本地扩展也可以正常工作。
parent.varname
、iframe.contentWindow.varname
等不就可以了吗?然后使用 postMessage() 向目标窗口发送消息,通知它读取varname
即可。 - Compl Yue