【问题标题】:Problems with adding a GWT app in an iFrame在 iFrame 中添加 GWT 应用程序的问题
【发布时间】:2012-05-15 13:45:47
【问题描述】:

我有一个GWT 应用程序,我想通过iFrame 将其URL 嵌入到另一个网页中:

<iframe src="http://127.0.0.1:8888/myProject.html?gwt.codesvr=127.0.0.1:9997"/>

但我遇到了错误。

如果我在 firefox 中浏览它:

Permission denied to access property 'href'(来自萤火虫控制台)

如果我在 chrome 中浏览它:

会弹出一个对话框:Plugin failed to connect to Development Mode server at 127.0.0.1:9997

我研究了很多,但都是徒劳的。

使用GWT的开发模式。

任何帮助将不胜感激。

【问题讨论】:

  • 第一个明显的东西突然出现在我身上。那是(我假设是eclipse)测试网址。你有内部服务器在运行吗?
  • 127.0.0.1:8888/myProject.html?gwt.codesvr=127.0.0.1:9997(作为常规的html页面)工作吗?你可以编译它并尝试它是否在发布模式下工作?还 - 尝试将 gwt.codesvr=127.0.0.1:9997 移动到外部(主)页面。所以 gwt 插件会读取它
  • 如果您的主页包含名为 main.html 的 GWT iframe,请尝试像这样运行它:main.html?gwt.codesvr=127.0.0.1:9997
  • 主页是公共 html 还是内部托管?无论如何-尝试将您的 ip 改为 127.0.0.1

标签: java gwt iframe gwt2 gwt-2.3


【解决方案1】:

好的,如果有人来过这里 he has the same problem and want to know what happened 我将总结一下我们所拥有的。

我不确定,但我认为问题在于互联网浏览器不允许网站访问不在主页域中的url(如果它能够这样做,将会发生非常糟糕的事情) 除非你让他们这样做。

这叫跨域访问策略,所以有两种处理方式

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

【讨论】:

    【解决方案2】:

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

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

    在hosted.html中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 2011-06-27
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多