【发布时间】:2014-11-22 13:44:17
【问题描述】:
我将使用 window.postMessage("", "*", [transferableData]) 在两个浏览器窗口之间发送数据。但是,我没有找到任何关于如何将类型转换为 Transferables 的直接答案。
所以,为了让我开始学习这一点,我很高兴知道如何将简单的字符串转换为可传输的(ByteBuffer)并在另一端读取它(在正在获取带有数据的消息)。这将帮助我解决我的问题并了解这个概念。
重要更新:
这个问题把我引到这里:Dart Language: printing reports
可传输对象尚未在 Dart VM 上实现 (http://dartbug.com/4149)。这意味着,如果您通过 Dartium (Dart VM) 运行应用程序,则另一个窗口将接收和处理 postMessage 的第一个参数,而不是 Transferable Object。然而,JavaScript 完成了这项工作:对象被传输,原始数组被清空。
【问题讨论】:
-
window.postMessage() 应该接受字符串,不是吗?
-
@罗伯特,对不起。我忘了说我会使用 postMessage 来发送 Transferable data => window.postMessage("", "*", [transferableData])。
-
您提到,
postMessage会截断消息。不过,我还没有找到关于postMessage的最大消息长度的任何信息。
标签: dart converter dart-html transferable