【问题标题】:Create GWT project with unique url创建具有唯一 url 的 GWT 项目
【发布时间】:2013-06-09 08:21:54
【问题描述】:

我正在使用历史类 (com.google.gwt.user.client.History) 的 GWT 项目。现在项目运行良好。但是客户希望项目使用唯一的 url 运行以确保安全。 我试图调查使用具有唯一 url 但没有运气的 GWT History 的方式。 如果您知道解决方案,请给我建议。非常感谢。

【问题讨论】:

  • 什么是唯一网址?这是否意味着您不能使用哈希标记?有哪些安全问题?
  • 当我使用 GWT 历史时,一个视图的 url 将附加历史令牌。示例:登录视图:localhost:8082/firstproject/#login。现在客户希望所有视图的 url 是唯一的 url:localhost:8082/firstproject

标签: url gwt unique history


【解决方案1】:

好吧,GWT 中的 History 实现基于哈希片段,因此如果您删除该部分(例如覆盖 HistoryImpl 中的 nativeUpdate() 方法,您的应用将永远不会在状态更改时收到通知。

我看到的解决方案是用你自己的基于window.history.pushState() HTML5 API 来覆盖 GWT 中的历史机制。现代浏览器(不是 IE9)支持它。

通过推送状态,您可以通过或不更改 url 来更改浏览器的状态。

有一个基于pushState at gitHub 的历史实现。 Johannes Barop 在 2013 年的 gwt-meetup 上介绍了这个项目,视频还不可用(不过几天后就会出现)。我认为它没有实现您不更改 url 的边缘情况,但可能应该很容易添加,或者在 github 上问他。

【讨论】:

    猜你喜欢
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2022-01-22
    • 2021-11-20
    • 2014-12-04
    相关资源
    最近更新 更多