【发布时间】:2010-08-14 23:28:57
【问题描述】:
假设我有一个带有许多小部件的 gwt 应用程序,并且我已经多次使用它们,例如打开了一些对话框窗口,选中了一些单选按钮等。然后,我转到另一个网站并单击后退按钮,但是我看到以前的观点丢失了。有什么方法可以恢复?一句话:如果它与 gwt 历史机制有关,我不想在其中注册每个动作。
提前致谢
【问题讨论】:
标签: gwt
假设我有一个带有许多小部件的 gwt 应用程序,并且我已经多次使用它们,例如打开了一些对话框窗口,选中了一些单选按钮等。然后,我转到另一个网站并单击后退按钮,但是我看到以前的观点丢失了。有什么方法可以恢复?一句话:如果它与 gwt 历史机制有关,我不想在其中注册每个动作。
提前致谢
【问题讨论】:
标签: gwt
好吧,History 是处理此类情况的推荐方式。由于无法刷新页面,因此无法通过 POST 传递数据。
我想到的一种解决方案是将信息存储在window.name 变量中。这是一个“被遗忘”的变量,它的内容没有限制 (IIRC),当您访问另一个网站时,不会被清除。您可能需要编写一些 JSNI 代码,这里有一些关于这个主题的链接:link1、link2、谷歌了解更多;)
但是你会为 History 做同样的事情——唯一的区别是用户不会看到一个可能很长的 URL。但是你真的需要记住所有这些价值观吗?在应用程序内的视图之间移动是可以理解的,但是当用户离开站点并返回时,他/她不希望看到记住的值(这可能会造成混淆并可能存在安全漏洞)。
【讨论】: