我有一个GWT
应用程序,我想通过iFrame
将其URL嵌入到另一个网页中:
<iframe src="http://127.0.0.1:8888/myProject.html?gwt.codesvr=127.0.0.1:9997"/>
但是我遇到了错误。
如果我在火狐中浏览它:
Permission denied to access property 'href'
(来自Firebug Console)
如果我在 chrome 中浏览它:
弹出一个对话框,说:Plugin failed to connect to Development Mode server at 127.0.0.1:9997
我研究了很多,但都是徒劳的。
采用GWT开发模式。
任何帮助将不胜感激。
如果有人来到这里,可以,因为他有同样的问题,想知道发生了什么我只是总结一下我们所拥有的。
我不确定,但我认为问题是因为互联网浏览器不允许网站访问不在主页域中的url
(如果它能够这样做,就会发生非常糟糕的事情),除非您让他们这样做。
被称为跨域访问策略,因此有 2 个选项来处理它
- 简单的一个 - gwt 和外部 html 必须具有相同的主机。
- 让 gwt 插件从外部 html 上下文运行,它在这里和这里都有描述,但由于某种原因它不起作用。 我们仍然不知道为什么。
我的解决方法(Ubuntu,GWT 2.5.1)是替换:
__gwt_HostedModePlugin -> parent.__gwt_HostedModePlugin
window.top -> window.parent
在托管中.html