티스토리 뷰
* 내부 연동 프로젝트 진행 중 크로스 도메인 메시징(Cross-Domain Messaging) 문제에 봉착했다. A 시스템의 페이지에서 IFRAME 또는 팝업의 형태로 B 시스템의 페이지를 호출하는 구조인데 A에서 B의 JavaScript 메써드를 실행하도록 되어 있다. 문제는 A 시스템과 B 시스템의 도메인이 서로 틀리기 때문에 A와 B의 window 객체는 서로 접근이 불가능하여 오류가 발생한다.
* 각 시스템의 도메인이 일치하고 추후에 도메인이 변경될 가능성이 없다면 각 시스템의 페이지에 window.domain 프라퍼티를 명시적으로 일치시켜주면 문제는 간단히 해결된다.
* 하지만 각 시스템의 도메인이 일치하지 않는다면 다른 방법을 찾아야 한다. 구글링을 통해 window.postMessage 메써드를 활용하는 방법을 찾았다. 크로스 도메인 환경에서 각 시스템의 페이지가 통신할 수 있는 방법을 제공한다.
* window.postMessage를 랩핑하고 브라우저 호환성까지 고려하여 보다 편리하게 사용하도록 개발된 easyXDM 라이브러리도 있다. 프로젝트에 사용한다면 easyXDM 사용이 적절하다고 생각된다.
Cross-Domain Communication with IFrames (by Mahemoff)
http://softwareas.com/cross-domain-communication-with-iframes
window.postMessage
https://developer.mozilla.org/en-US/docs/DOM/window.postMessage
easyXDM
http://easyxdm.net/wp/
https://github.com/oyvindkinsey/easyXDM
- Total
- Today
- Yesterday
- 자전거
- Eclipse
- Kendo UI
- bootstrap
- jstl
- Docker
- 구동계
- Spring Boot
- jsp
- kotlin
- 태그를 입력해 주세요.
- 알뜰폰
- DynamoDB
- Kendo UI Web Grid
- Tomcat
- 평속
- node.js
- jpa
- 로드바이크
- CentOS
- MySQL
- spring
- 로드 바이크
- java
- JHipster
- Spring MVC 3
- graylog
- chrome
- maven
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |