2013-04-03 41 views
0

我们有一个基于GWT的胖客户端,比如web应用程序。该应用程序相当大,并有一些初始加载时间。一种用外部链接控制网页而不重新加载的方法

我们希望向我们的应用程序电子邮件用户发送带有href链接的用户,这些链接可以在我们的应用程序中打开特定的资源。那么这当然有点击链接再次打开应用程序的效果,重新加载它,我们想避免。理想情况下,我们希望href链接能够以某种方式向我们的应用程序/网页发出信号,以便我们可以在应用程序中找到事件并对其做出反应。

任何想法,我们应该如何处理这或甚至可能?

谢谢!

回答

0

目前似乎并没有被任何优雅的解决方案从一个链接发送一个事件,现有的浏览器窗口。我目前遇到的几个解决方案:

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

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

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

0

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

如果您尚未使用它,信息是这里GWT's History mechanism

+0

GWT超链接是不是应该在应用程序本身中使用的小部件?我的问题是关于外部简单链接应该能够在现有浏览器窗口中命令运行的GWT应用程序/网页的情况。 – markok 2013-04-04 05:08:49

+0

是的,抱歉,我认为电子邮件将从应用程序中读取... – user1258245 2013-04-04 07:04:10

相关问题