삽질 블로그

[JavaScript] iframe 사이트 parent 사이트 메시지 전송방법(도메인이 다른경우) 본문

프론트앤드/Javascript

[JavaScript] iframe 사이트 parent 사이트 메시지 전송방법(도메인이 다른경우)

건와닝 2021. 9. 13. 19:10

1. 현재 나의 상황

dev.co.kr 에서 oz를 호출 하는데 현재 oz.co.kr에 있는 프린트 버튼이나 저장버튼 클릭 시

dev.co.kr에서 개인정보 입력 동의 팝업이 나온 후 그 값을 입력하고 계속 버튼을 클릭시 입력한 값이 insert가 된 후 

oz에서 호출 되는 프린트 버튼 및 저장 버튼이 실행된다.

 

2. 소스 코드 

먼저 오즈에서 제공하는 user_defined_function에 유저 정의 함수를 등록한다.

이렇게 등록된 함수들은 저장버튼 클릭 시 callSave 프린트 버튼 클릭 시 callPrint 함수를 타게된다.

그리고 getReason이라는 함수를 통해 팝업을 호출한다. 

팝업을 호출한후 값을 입력하고 insert를 탄 후 frame.render.contentWindow.postMessage 함수를 태우는데 이렇게 태운 함수는 상단에 window.addEventListener('message' , callbackfunction) 을 타게되고 oz Script 를 통해 ozDomain을 다시 호출해서 상단과 같이 인쇄버튼이 나오도록 할 수 있다.

 

참조

https://developer.mozilla.org/ko/docs/Web/API/Window/postMessage