2011-02-07 6 views
1

일부 제 3자가 자신의 웹 사이트로 가져올 일부 GWT 응용 프로그램을 개발 중입니다.원격 컴퓨터에서 GWT 응용 프로그램을 실행 중입니다.

나는에 말을 내 컴퓨터에 호스트로 구성되어 개발하고 응용 프로그램 :

<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

<link type="text/css" rel="stylesheet" href="http://myMachine.com:8888/app/gwtApp.css"> 
<title>gwtApp</title> 
<script language="javascript" src="http://myMachine.com:8888/app/gwtApp/gwtApp.nocache.js"></script> 
</head> 
<body> 
<div id="app" style="width:240px; height:190px;"></div> 
</body> 
</html> 

참고 : 이 http://myMachine.com/app/gwtApp.html

응용 프로그램과 같은 좀 프록시 서블릿을 작성했습니다 그냥 해결하려면 위의 스크립트 태그가 기본적으로 다음과 같이 표시 되듯이 내 서버를 다시 URL에 연결합니다. <script language="javascript" src="app/gwtApp/gwtApp.nocache.js"></script>하지만 프록시는 다음과 같이 변환합니다. <script language="javascript" src="http://myMachine.com/app/gwtApp/gwtApp.nocache.js"></script>

타사는 위의 내용을 웹 사이트 (완전히 다른 도메인에 있음)로 가져 오기 위해 일부 가져 오기 메커니즘 (jstl 가져 오기 또는 기타)을 사용합니다.

문제는 다음 JS 오류가 발생하고 아무 것도 렌더링되지 않습니다. 응용 프로그램에서 :

Error: Permission denied for <http://172.16.0.87:8888> to get property Window.document from <http://thrid-party_domain.com>. 
Source File: http://myMachine.com/app/gwtApp/37A4800286E685E7555FF8DCA66FC4F9.cache.html 
Line: 1 

Error: Permission denied for <http://myDomain:8888> to get property Window.gwtApp from <http://thrid-party_domain.com>. 
Source File: http://myMachine.com/app/gwtApp/37A4800286E685E7555FF8DCA66FC4F9.cache.html 
Line: 1463 

답변

1

same origin policy 규칙과 관련이있는 것 같습니다. 귀하의 CSS와 자바 스크립트 파일이 다른 포트 : 8888과 80에서 게시되었습니다. CSS 파일 포트를 80으로 변경하면 이전 오류가 발생하지 않을 것입니다.

+0

사실 위의 오류는 .gwt.xml 파일 : 귀하의 링크에 명시된 바와 같이''그러나 여전히 응용 프로그램은 고객 (제 3 자) 페이지 내에서 렌더링 될 수 없습니다 ... 오류 콘솔 통계 오류나 경고가 없다면 어떤 도움이 되겠습니까? –

관련 문제