Для тестирования я решил проверить функцию, которую я написал, которая возвращает объект DOMRect
.JSON.stringify & DOMRect
В консоли я вижу, что DOMRect не поврежден и обладает всеми его свойствами. Однако, когда у меня есть JSON.stringify(rect)
(где rect - переменная с результатом возврата), я получаю пустой объект {}
.
Не знаю, означает ли это, что есть что-то особенное в DOMRect
, или JSON.stringify
не делает то, что я думал, что это будет делать, чтобы сериализовать свойства объекта.
Возникает вопрос: почему не будет JSON.stringify работы на DOMRect
(и это также не на некоторых других obects
FWIW, я тестирование на текущий Mac, и попытался как Firefox и . Webkit
Не могли бы вы уточнить этот момент? 'JSON.stringify' не работает над _any_ dom объектом? Достаточно справедливо, я полагаю, но это кажется странным - это не так, как если бы ценности были динамическими. Сообщение о круговой структуре кажется странным. – Manngo
correct - 'JSON.stringify()' не будет работать ни на одном узле DOM. см. также: http://stackoverflow.com/questions/2303713/how-to-serialize-dom-node-to-json-even-if-there-are-circular-references – hackerrdave
Спасибо за помощь. Все, что мне действительно нужно, это контент, поэтому я нашел удобным скопировать содержимое DOMRect в новый объект. Это также дает мне возможность настроить его немного и полифонию для определенных браузеров. – Manngo