2014-09-02 2 views
0

iframe 내부에서 html 페이지를 열어야하는 요구 사항이 있습니다.이 html 페이지는 다른 html 페이지 (uri는 file : //로 시작합니다.) 안에 배치됩니다. iframe과 외부 html 페이지 사이에 교차 도메인 메시징이 있어야합니다. iframe 내부 페이지가 로컬 컴퓨터에서로드 될 때 완벽하게 작동합니다 (외부 페이지와 iframe의 페이지 모두에 file : // uri가 있음).postMessage를 사용한 교차 도메인 메시징

이제 응용 프로그램을 만들려고하면 내 로컬 컴퓨터에서 호스트하고 iframe 내부에서 열어야합니다. 페이지가 성공적으로로드되지만 외부 프레임과 iframe의 페이지 사이의 메시징이 실패합니다.

나는 크롬에서 다음과 같은 오류가 점점 오전 : - 응용 프로그램을 호스팅하는 서버에

Uncaught SecurityError: Blocked a frame with origin "http://localhost/newapp" 
from accessing a frame with origin "null". The frame requesting access has a protocol of 
"http", the frame being accessed has a protocol of "file". Protocols must match. 

이미 허용 한 출처 간 요청. postMessage 통신을 가능하게하기 위해 시도 할 수있는 다른 단계는 무엇입니까?

답변

1

오류 메시지가 분명합니다. 동일한 프로토콜을 사용하고 있지 않습니다. 하나는 HTTP를 사용하고 다른 하나는 파일을 사용하고 있습니다.

Chrome 보안 옵션으로 HTTP 또는 파일 프로토콜을 모두 사용해야합니다.

관련 문제