2013-01-01 14 views
11

Gibt es einen? Der Structured Clone Algorithm ist für HTML5 definiert, um Browsern einen konsistenten Mechanismus zu erlauben, komplexe Javascript-Objekte, die von IndexedDB und window.postMessage() verwendet werden, zu persistieren und zu übertragen, aber es ist kein Serialisierungsformat. Kennt jemand ein solches Format, das alles darstellen kann, was im SCA gültig ist?Serialisierungsformat kompatibel mit strukturiertem Klonalgorithmus?

Zusätzlich zu den Typen, die JSON darstellen kann, muss dies zyklische Referenzen zwischen Objekten sowie RegExp-Objekte, Blob-, File-, FileList- und ImageData-Objekte enthalten.

Passt alles zur Rechnung?

Antwort

2

Die Existenz eines strukturierten Klon-Algorithmus in html5-Browser ist

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

Es zumindest in FF implementiert:

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

Ich denke, es Sie zu verwenden Geben Sie einfach ein Objektdiagramm (möglicherweise zyklisch) in das Nachrichtenargument ein:

window.postMessage(message, targetOrigin);.

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

Es sagt also hier implizit:

Hinweis: Vor der Gecko 6.0 (Firefox 6.0/Thunderbird 6.0/SeaMonkey 2.3), muss die Nachricht Parameter ein String sein. Ab Gecko 6.0 (Firefox 6.0/Thunderbird 6.0/SeaMonkey 2.3) wird der Message-Parameter mit dem strukturierten Klonalgorithmus serialisiert. Dies bedeutet, dass Sie eine Vielzahl von Datenobjekten sicher in das Zielfenster übertragen können, ohne sie selbst serialisieren zu müssen.

Verwandte Themen