web-dev-qa-db-fra.com

DOMException non capturée: impossible d'exécuter 'postMessage' sur 'Window': un objet n'a pas pu être cloné

J'essaie d'appeler

parent.postMessage(obj, 'whatever');

depuis un iframe et j'obtiens cette erreur: Uncaught DOMException: Failed to execute 'postMessage' on 'Window': An object could not be cloned.

35
nieve

Il s'avère que l'objet que j'ai transmis avait des méthodes, c'est pourquoi le message d'erreur disait An object could not be cloned.

Pour résoudre ce problème, vous pouvez procéder comme suit:

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