Uncaught DOMException: Не удалось выполнить 'postMessage' в 'Window': объект не может быть клонирован
Я пытаюсь позвонить
parent.postMessage(obj, 'whatever');
из iframe, и я получаю эту ошибку: Uncaught DOMException: Failed to execute 'postMessage' on 'Window': An object could not be cloned.
Ответы
Ответ 1
Оказывается, у объекта, который я передал, были методы, поэтому сообщение об ошибке указано An object could not be cloned
.
Чтобы исправить это, вы можете сделать следующее:
obj = JSON.parse(JSON.stringify(obj));
parent.postMessage(obj, 'whatever');
Ответ 2
В моем случае, я не знаю, является ли это той же проблемой, я видел эту ошибку в responseJS:
DOMException: не удалось выполнить 'postMessage' для 'DedicatedWorkerGlobalScope': TypeError: не удалось получить, не удалось клонировать.
Я не знаю, в чем проблема, потому что кодовая база действительно большая, тогда я просто очищаю кеш, все работает.