Uncaught DOMException: не удалось выполнить 'postMessage' на 'Window': объект не может быть клонирован


Я пытаюсь позвонить

parent.postMessage(obj, 'whatever');

Из iframe, и я получаю эту ошибку: Uncaught DOMException: Failed to execute 'postMessage' on 'Window': An object could not be cloned.

1 14

1 ответ:

Оказывается, объект, который я передал, имел методы, поэтому в сообщении об ошибке говорилось An object could not be cloned.

Чтобы исправить это, вы можете сделать следующее:

obj = JSON.parse(JSON.stringify(obj));
parent.postMessage(obj, 'whatever');