我正在开发一些 GWT 应用程序,一些第三方需要将其导入他自己的网站。
我正在开发的应用程序包括托管在我的机器上,位于:http: //myMachine.com/app/gwtApp.html
应用程序看起来像:
<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>
注意:我编写了一些代理 servlet 只是为了解析我的服务器的 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