【问题标题】:How do you access the parent window when you open a popup window to oauth with twitter using gwt?当您使用 gwt 打开弹出窗口以使用 twitter 进行 oauth 时,如何访问父窗口?
【发布时间】:2011-03-17 16:44:45
【问题描述】:

我的 GWT 应用程序中的 oauth 在 Twitter 上运行良好。但是,当我使用 Window.open() 尝试执行 oauth 流程并获得成功的 oauth 并且 twitter 将新打开的窗口重定向到我的回调 url 时,我遇到了问题。

我可以看到关闭窗口的唯一方法是使用 JSNI 并调用 $wnd.close()。关闭用于 oauth 的窗口后,我想调用父窗口上的方法以继续。但是,由于我不知道如何访问父窗口,所以我不知道该怎么做。

最初我尝试了一个 GWT 对话框,由于模态对话框和玻璃背景功能,它非常棒,但不幸的是它不起作用,因为当重定向到 twitter 时,如果你在 iframe 中,它们会杀死 iframe。

我正在考虑将窗口的开启器对象存储在 java JavaScriptObject 中,然后在我关闭用于 oauth 的窗口后使用它来调用我的 GWT 代码。

有人做过吗?我想要做的基本上是 tweetmeme 在它的 twitter oauth 中通过非 GWT javascript 所做的事情。

谢谢。

【问题讨论】:

    标签: java javascript gwt twitter oauth


    【解决方案1】:

    Window.open 在 Javascript 中返回子窗口的句柄。既然 GWT 的 Window.open 不返回这个句柄,为什么不使用自己的 JSNI 来执行 javascript 调用并返回窗口句柄?然后,您可以在 GWT 应用程序中保留此窗口句柄,然后使用 ti 关闭窗口,稍后将此句柄传递给另一个 JSNI,该 JSNI 只执行 window.close()

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      相关资源
      最近更新 更多