티스토리 뷰

상황)

자바스크립트로 A.html 을 호출하고 결과값을 콜백함수명이 함께 있는 JSON 데이터를 받음.

콜백함수가 자바스크립트에서 실행되고 다시 A.html 을 호출

A.html 안에서는 조건에 따라 아이프레임으로 B.html 호출

아이프레임으로 호출된 B.html 에서 창 닫기를 하려면 parent.parent.document 로 부모창에 접근해서 창닫기해야함.


오류)

Same-origin policy 오류라고 해서 Blocked a frame with origin ~~ 블라블라~~

크롬에서는 저정도 밖에 안 나왔는데 안드로이드 콘솔로 찍어보니 오류가 더 자세히 나왔다.

both must set document.domain to the same value to allow access


해결)

아이프레임으로 B.html 을 호출하기 전에 자바스크립트에 document.domain="도메인명"; 

B.html 에서도 자바스크립트에 document.domain="도메인명";

* 호출하는 페이지, 호출되는 페이지 양 쪽 모두에 document.domain 설정해주는게 키 포인트!!



댓글