이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 4712|회답: 2

[HTML/HTML5] HTML5 PostMessage 창 간 통신

[링크 복사]
게시됨 2022. 7. 30. 오후 10:07:04 | | | |
PostMessage는 html5에 도입된 새로운 교차 통신 API로, 메인 페이지와 모든 프레임 클래스 페이지 또는 window.open으로 열린 페이지와 양방향 통신이 가능합니다. 일반적인 운영 과정은 다음과 같습니다:



JS는 현재 페이지가 iframe인지 팝업 창인지 결정합니다
https://www.itsvse.com/thread-10342-1-1.html


postMessage(data,origin) 메서드는 두 가지 매개변수를 받습니다:

(1) 데이터: 전달할 데이터, HTML5 명세에서는 매개변수가 기본 JavaScript 유형이나 재현 가능한 객체일 수 있다고 명시되어 있지만, 모든 브라우저가 이를 구현한 것은 아니며, 일부 브라우저는 문자열 매개변수만 처리할 수 있으므로 매개변수를 전달할 때 객체 매개변수를 직렬화하기 위해 JSON.stringify() 메서드를 사용해야 하며, 유사한 효과를 위해 하위 버전의 IE에서 json2.js을 참조해야 합니다.

(2) origin: 문자열 매개변수, 대상 창의 출처를 표시, 프로토콜 + 호스트 + 포트 번호 [+URL], URL은 무시되므로 작성할 수 없습니다. 이 매개변수는 보안 고려를 위한 것이고, postMessage() 메서드는 지정된 창으로만 메시지를 전달합니다. 물론 원한다면 매개변수를 "*"로 설정할 수도 있는데, 이는 현재 창과 동일한 출처를 지정하고 싶다면 "/"로 설정합니다;


직접 메시지를 보내고 받으세요

코드는 다음과 같습니다:



부모 창은 자식 창에 메시지를 보내고, 자식 창은 메시지를 받습니다

코드는 다음과 같습니다:




자식 창은 부모 창에 메시지를 보내고, 부모 창은 메시지를 받습니다

코드는 다음과 같습니다:



또한, 다음 주소에서 도메인 간 메시징을 위한 간단한 리스너/클라이언트 모드가 클라이언트에 연결되어 있습니다:하이퍼링크 로그인이 보입니다.

(끝)




이전의:JS는 현재 페이지가 iframe인지 팝업 창인지 결정합니다
다음:도커는 컨테이너의 CPU, 메모리 및 기타 자원을 수정하고 제한합니다
게시됨 2022. 7. 30. 오후 10:46:07 |
배우기 시작해...
 집주인| 게시됨 2023. 2. 18. 오후 9:25:31 |
브라우저 창 통신의 포스트 로봇 예시
https://www.itsvse.com/thread-10428-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com