전송 가능한 데이터는 string 뿐이다. 즉, 태그 node 등을 바로 전달 할 수 없다.
보통 JSON 문자열 전송해서 디코딩 해서 쓴다. => 객체형으로 넘겨도 가능하다면 알아서 바꿔서 객체형으로 받는다. (다른 window에 보내질 데이터. 데이터는 the structured clone algorithm을 이용해 직렬화됩니다. 이를 통해 직렬화를 직접할 필요 없이 대상 window에 다양한 데이터 객체를 안전하게 전송할 수 있습니다.)
기타 : 구글 광고가 붙어있다면 iframe의 부모창으로 postMessage를 2번 전송한다.
file:// 을 프로토콜로 사용할 경우 보내는건 되지만, 받는건 안된다. (event.orign 값이 null 이라서)
받은 데이터 처리시 event.origin 를 체크 안하면 스크립트 공격을 당할 수 있다. (아무곳에서 들어온 값을 처리하니간)