0

我们有一个基于 GWT 的胖客户端,例如 Web 应用程序。该应用程序相当大,并且有一些初始加载时间。

我们希望向应用程序的用户发送带有 href 链接的电子邮件消息,这些链接将在我们的应用程序中打开特定资产。好吧,这当然会导致单击链接再次打开应用程序,重新加载它,这是我们希望避免的。理想情况下,我们希望 href 链接以某种方式向我们的应用程序/网页发出信号,以便我们可以在应用程序中获取事件并对其做出反应。

有什么想法我们应该如何解决这个问题,或者这是否可能?

谢谢!

4

2 回答 2

0

您需要使用 GWT超链接,它是用作“内部”超链接的小部件。也就是说,它是到正在运行的应用程序的另一个状态的链接。单击时,它将使用 History.newItem(java.lang.String) 创建一个新的历史框架,但不会重新加载页面。

如果您还没有使用它,这里有关于GWT 历史机制的信息

于 2013-04-03T22:33:37.530 回答
0

似乎没有任何优雅的解决方案可以将事件从链接发送到现有浏览器窗口。到目前为止我遇到的几个解决方案:

a) 为应用程序实施 cookie 轮询解决方案,以轮询 cookie 是否存在或更改。该链接指向我们的服务器,该服务器仅设置 cookie,并通过这种方式将事件通知正在运行的应用程序。一些棘手的处理应该在从服务器返回的临时页面之间使用某种 2 路协议来实现,以处理应用程序尚未(尚未)运行的情况。

b) 与解决方案 a) 中的方法相同,但使用 html5 本地存储进行通信。这样就不需要轮询器,因为本地存储会在内容更改时触发事件。这将是一个可能的解决方案,但不适合我,因为我们必须支持没有本地存储支持的旧浏览器。

c) 用于将事件从服务器传递到客户端的长轮询 ajax 或 Web 套接字。一个解决方案,但似乎有点矫枉过正,可能至少需要一个现代浏览器才能使用网络套接字。

于 2013-04-09T18:09:28.863 回答