我想重写历史标记。不知道有没有可能。 例如,如果我的应用程序URL是 http://localhost:8080/myapp/#login 其中包含“login”作为历史标记。是否可以像这样重写URL http://localhost:8080/myapp/user/login .
还是可以从历史标记中删除“”?
这个 # 令牌在URL中有特殊的含义。浏览器解释了 γ 令牌作为要加载的页面,以及 γ 作为页面上的附加信息。这意味着如果在 γ 标记,网页不会重新加载,但它会创建浏览器历史记录项。GWT使用它创建新的历史记录项,而不重新加载页面。
#
γ
如果您要重写 #login 到 /user/login 您将指示浏览器重新加载页面,这意味着重新加载整个GWT页面并重置所有状态信息。这可能不是你想要的。
#login
/user/login
因此,简短的答案是,尽管从技术上讲是可能的,但它会将行为从一个单页网站改变为一个多页网站,每次历史改变都会重新加载,这可能不是你想要的。