gpt4 book ai didi

javascript - 如何在 Web Worker 中对对象进行编码,以便通过 postMessage 传递?

转载 作者:行者123 更新时间:2023-11-30 23:51:27 25 4
gpt4 key购买 nike

在内部,Firefox 将对通过 postMessage 传入和传出 Web Worker 的对象进行 JSON 编码。然而,这仅适用于 Firefox (3.6+) 的 Trunk 版本,而不适用于 Firefox 3.5,因此问题实际上是如何向当前平台添加对此操作的向后支持。之前已经建议过 window.atob() 和 window.btoa() 方法,但遗憾的是,这些方法在线程内部不可用,因为它们无法访问 DOM。

Mozilla 在其开发者 wiki 上公开声明了这一点,但社区中的许多人已经注意到这种情况的发生。查看ejohn的博客测试:http://ejohn.org/files/bugs/postMessage/

我已经验证了情况也是如此,在 3.5 中,它仅传递字符串,而在 3.6 中将传递对象。

最佳答案

我没有注意到自动 JSON 编码在 Firefox 3.5 中不起作用,但我主要使用 Gears,无论如何它都不支持它。

尝试包含 JSON utility在工作脚本和父脚本中,然后自己手动编码和解码。这对于我使用 Gears 来说非常有效。

当 Firefox 开始自动为您执行 JSON 编码时,这种方法不应中断,因为编码后的 JSON 字符串仍将是字符串。

关于javascript - 如何在 Web Worker 中对对象进行编码,以便通过 postMessage 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com