Подтвердить что ты не робот

Формат последовательной совместимости с алгоритмом структурированного клонирования?

Есть ли один? Алгоритм структурированного клонирования определен для HTML5, чтобы позволить браузерам согласованный механизм сохраняться и передавать сложные объекты Javascript, используемые IndexedDB и window.postMessage(), но это НЕ формат сериализации. Кто-нибудь знает о таком формате, который может представлять все действующие в SCA?

В дополнение к типам, которые может представлять JSON, это должно включать циклические ссылки между объектами, а также объекты RegExp, объекты Blob, File, FileList и ImageData.

Что-нибудь поместило счет?

4b9b3361

Ответ 1

Существование структурированного алгоритма клонирования в html5-браузерах

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), параметр сообщения сериализуется с использованием алгоритма структурированного клона. Это означает, что вы можете безопасно передавать большое количество объектов данных в окно назначения без необходимости их сериализации.