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