PostMessage는 html5에 도입된 새로운 교차 통신 API로, 메인 페이지와 모든 프레임 클래스 페이지 또는 window.open으로 열린 페이지와 양방향 통신이 가능합니다. 일반적인 운영 과정은 다음과 같습니다:
postMessage(data,origin) 메서드는 두 가지 매개변수를 받습니다:
(1) 데이터: 전달할 데이터, HTML5 명세에서는 매개변수가 기본 JavaScript 유형이나 재현 가능한 객체일 수 있다고 명시되어 있지만, 모든 브라우저가 이를 구현한 것은 아니며, 일부 브라우저는 문자열 매개변수만 처리할 수 있으므로 매개변수를 전달할 때 객체 매개변수를 직렬화하기 위해 JSON.stringify() 메서드를 사용해야 하며, 유사한 효과를 위해 하위 버전의 IE에서 json2.js을 참조해야 합니다.
(2) origin: 문자열 매개변수, 대상 창의 출처를 표시, 프로토콜 + 호스트 + 포트 번호 [+URL], URL은 무시되므로 작성할 수 없습니다. 이 매개변수는 보안 고려를 위한 것이고, postMessage() 메서드는 지정된 창으로만 메시지를 전달합니다. 물론 원한다면 매개변수를 "*"로 설정할 수도 있는데, 이는 현재 창과 동일한 출처를 지정하고 싶다면 "/"로 설정합니다;
직접 메시지를 보내고 받으세요
코드는 다음과 같습니다:
부모 창은 자식 창에 메시지를 보내고, 자식 창은 메시지를 받습니다
코드는 다음과 같습니다:
자식 창은 부모 창에 메시지를 보내고, 부모 창은 메시지를 받습니다
코드는 다음과 같습니다:
또한, 다음 주소에서 도메인 간 메시징을 위한 간단한 리스너/클라이언트 모드가 클라이언트에 연결되어 있습니다:하이퍼링크 로그인이 보입니다.
(끝)
|