Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Chrome中的postMessage JSON编码/解码是否与Firefox中的相同?_Javascript_Google Chrome_Web Worker - Fatal编程技术网

Javascript Google Chrome中的postMessage JSON编码/解码是否与Firefox中的相同?

Javascript Google Chrome中的postMessage JSON编码/解码是否与Firefox中的相同?,javascript,google-chrome,web-worker,Javascript,Google Chrome,Web Worker,我知道它是HTML5规范的一部分,但有时WebKit不符合规范的最新草案。唉,WebKit的worker postMessage实现目前没有序列化对象,因为它是在规范的早期版本中编写的,并且还没有更新以匹配“最终”版本 它实际上也不是JSON——它是html5中的内部结构化克隆算法,效率更高(不需要转换字符串),实际上比JSON更丰富,但目前没有人实现:-(更新:来自Firefox 6.0,使用。它现在似乎也在Chrome中工作。很有趣,所以听起来就像我所怀疑的那样。鉴于此,我有一个有两个web

我知道它是HTML5规范的一部分,但有时WebKit不符合规范的最新草案。

唉,WebKit的worker postMessage实现目前没有序列化对象,因为它是在规范的早期版本中编写的,并且还没有更新以匹配“最终”版本


它实际上也不是JSON——它是html5中的内部结构化克隆算法,效率更高(不需要转换字符串),实际上比JSON更丰富,但目前没有人实现:-(

更新:来自Firefox 6.0,使用。它现在似乎也在Chrome中工作。

很有趣,所以听起来就像我所怀疑的那样。鉴于此,我有一个有两个web workers的应用程序,他们在>=fox 3.5中传递js对象很好,但在Chrome中没有。那么我该如何解决这个问题呢?你最好的办法是给它添加一个小测试检查postMessage是否序列化,以及它是否不只是手动执行JSON.stringify和JSON.parse。最好这样做,以便它可以在所有webkit端口上工作——chrome只是苹果webkit的另一个端口,您不想破坏所有其他端口(尤其是Safari)听起来很酷,我下周度假回来后会试试这个:)