13

存在しますか?Structured Clone Algorithm は HTML5 用に定義されており、ブラウザが複雑な Javascript オブジェクトを永続化および転送するための一貫したメカニズムを可能にします。これは IndexedDB および window.postMessage() で使用されますが、シリアライゼーション形式ではありません。SCA で有効なすべてを表すことができるような形式を知っている人はいますか?

JSON が表現できる型に加えて、これには、オブジェクト間の循環参照、および RegExp オブジェクト、Blob、File、FileList、および ImageData オブジェクトも含まれる必要があります。

法案に合うものはありますか?

4

1 に答える 1

2

html5-browsers での構造化されたクローン アルゴリズムの存在は、

http://www.w3.org/TR/2011/WD-html5-20110525/common-dom-interfaces.html#safe-passing-of-structured-data

少なくともFFで実装されています:

https://developer.mozilla.org/en-US/docs/DOM/The_structured_clone_algorithm

それを使用するには、オブジェクトのグラフ(循環する可能性があります)を次のメッセージ引数に与えるだけだと思います:

window.postMessage(message, targetOrigin);.

https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

ここでは暗黙のうちに次のように述べています。

注: Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) より前では、メッセージ パラメータは文字列でなければなりません。Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) 以降では、構造化クローン アルゴリズムを使用してメッセージ パラメータがシリアル化されます。これは、さまざまなデータ オブジェクトを自分でシリアル化することなく、宛先ウィンドウに安全に渡すことができることを意味します。

于 2013-02-28T17:27:26.713 に答える