【问题标题】:GWT , Remove History tokenGWT , 删除历史记号
【发布时间】:2013-05-27 08:11:03
【问题描述】:

我有一个 GWT 项目,使用活动和地点。我的问题是历史令牌。

我的令牌图案:

#/{key 1}/{value 1}/{key 2}/{value 2}  

值 1 必须是数字

值 2 必须是数字

有效的令牌是:

#/view/1/date/123123123123

我决定验证令牌,然后问题出现了。

例如,如果用户手动更改令牌:

#/view/qqweqweqwedate/date/123123123123

在这种情况下,值 1 不是数字。我捕获了这个异常并使用默认值修复了令牌。问题是无效令牌在历史记录中,当我单击浏览器上的“返回”按钮时,它再次出现。

有人可以告诉我如何从历史记录中删除无效令牌或不允许将其写入历史记录吗?

【问题讨论】:

    标签: gwt token browser-history


    【解决方案1】:

    一旦设置了新的哈希(GWT 中的新令牌),它就会存储在浏览器历史堆栈中。

    您无法从浏览器历史记录中删除标记,因此您最多只能使用代码处理此事件。我的意思是,当用户点击返回时,将访问格式错误的令牌,并且可以通知您做任何您想做的事情:再次修复令牌并将用户带到正确的令牌,或调用 History.back() 以便用户被发送到前一个令牌。

    我看到的问题是是否知道用户何时从已经固定的令牌屏幕发送回来。

    理论上,你可以使用 javascript 来使用 event.oldURL 和 event.newURL,但是这些属性并没有在 GWT 中公开,所以你应该使用 jsni 手动实现它们。

    【讨论】:

    • 我认为解决方案是类似的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多