在 iFrame 中添加 GWT 应用时出现问题



我有一个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 个选项来处理它

  1. 简单的一个 - gwt 和外部 html 必须具有相同的主机。
  2. 让 gwt 插件从外部 html 上下文运行,它在这里和这里都有描述,但由于某种原因它不起作用。 我们仍然不知道为什么。

我的解决方法(Ubuntu,GWT 2.5.1)是替换:

__gwt_HostedModePlugin -> parent.__gwt_HostedModePlugin
window.top -> window.parent

在托管中.html

最新更新