Uncaught DOMException: Failed to execute 'postMessage' on 'Window': An object could not be cloned

Solution 1:

It turns out the object I passed had methods, which is why the error message said An object could not be cloned.

In order to fix this, you can do the following:

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