아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
하얀고슴도치236
하얀고슴도치23621.05.27

다른 도메인 주소의 iframe도 컨트롤이 자유롭게 가능한가요???

다른 도메인 주소의 iframe도 컨트롤이 자유롭게 가능한가요???

예를들어 AAA.com 이라는 페이지안에서

BBB.com 을 iframe 으로 삽입한 경우

AAA.com 에서

BBB.com 의 function 을 사용할수있다던가....

BBB.com 으로 무언가 명령을 내릴수 있다던가...

BBB.com 에서 무언가 클릭하거나 데이터가 바뀔때 캐치가 된다던가....

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.05.27

    안녕하세요.

    AAA.com 에 BBB.com을 iframe으로 추가할 경우 BBB.com의 response header에 X-Frame-Options에 AAA.com을 허용하고 있어야 합니다. 허용 된 경우 iframe에 BBB.com의 화면이 보이게 됩니다.

    AAA.com과 BBB.com 간의 함수 호출은 도메인이 다르기 때문에 되지 않습니다. 대신 postMessage 와 addEventListener로 통신은 가능합니다.

    아래 예제는 iframe에서 부모창으로 데이터를 보내는 샘플이며, 반대의 경우도 window 객체만 서로 변경하면 동일합니다.

    // BBB.com 에서 AAA.com으로 데이터 전달 // 데이터 : 문자열, 숫자, json 객체 가능 // 도메인 : https://AAA.com 처럼 특정 도메인 또는 * 는 모든 도메인 가능, * 는 보안상 좋지 않음 window.parent.postMessage(데이터, '도메인'); // AAA.com 에서 처리 window.addEventListener('message', function(e) { console.log('data :', e.data); // BBB.com에서 보낸 데이터 console.log('origin :', e.origin); // https://BBB.com (iframe 도메인) });