代码之家  ›  专栏  ›  技术社区  ›  jaxb

GWT历史令牌重写

  •  2
  • jaxb  · 技术社区  · 14 年前

    我想重写历史标记。不知道有没有可能。 例如,如果我的应用程序URL是 http://localhost:8080/myapp/#login 其中包含“login”作为历史标记。是否可以像这样重写URL http://localhost:8080/myapp/user/login .

    还是可以从历史标记中删除“”?

    1 回复  |  直到 11 年前
        1
  •  8
  •   Hilbrand Bouwkamp    14 年前

    这个 # 令牌在URL中有特殊的含义。浏览器解释了 γ 令牌作为要加载的页面,以及 γ 作为页面上的附加信息。这意味着如果在 γ 标记,网页不会重新加载,但它会创建浏览器历史记录项。GWT使用它创建新的历史记录项,而不重新加载页面。

    如果您要重写 #login /user/login 您将指示浏览器重新加载页面,这意味着重新加载整个GWT页面并重置所有状态信息。这可能不是你想要的。

    因此,简短的答案是,尽管从技术上讲是可能的,但它会将行为从一个单页网站改变为一个多页网站,每次历史改变都会重新加载,这可能不是你想要的。