web-dev-qa-db-ja.com

キャッチされないDOMException: 'Window'で 'postMessage'の実行に失敗しました:オブジェクトを複製できませんでした

電話しようとしています

parent.postMessage(obj, 'whatever');

iframe内からこのエラーが発生しています:Uncaught DOMException: Failed to execute 'postMessage' on 'Window': An object could not be cloned.

35
nieve

渡されたオブジェクトにはメソッドがあり、エラーメッセージがAn object could not be clonedと言ったのはこのためです。

これを修正するには、次のことを実行できます。

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