【发布时间】:2010-03-01 10:41:06
【问题描述】:
我想做历史令牌重写。不知道可能与否。 例如如果我的应用程序 URL 是 http://localhost:8080/myapp/#login,其中包含“登录”作为历史令牌。是否可以重写http://localhost:8080/myapp/user/login之类的URL。
或者是否可以从历史令牌中删除“#”?
【问题讨论】:
标签: gwt url-rewriting token gwt-history
我想做历史令牌重写。不知道可能与否。 例如如果我的应用程序 URL 是 http://localhost:8080/myapp/#login,其中包含“登录”作为历史令牌。是否可以重写http://localhost:8080/myapp/user/login之类的URL。
或者是否可以从历史令牌中删除“#”?
【问题讨论】:
标签: gwt url-rewriting token gwt-history
# 标记在 URL 中具有特殊含义。浏览器将# 标记之前的所有内容解释为要加载的页面,并将# 之后的所有内容解释为页面上的附加信息。这意味着如果在# 令牌之后的 URL 中发生了某些更改,则不会重新加载网页,但会创建浏览器历史记录项。 GWT 使用它来创建新的历史记录项,而不是重新加载页面。
如果您将 URL 从 #login 重写为 /user/login,您将指示浏览器重新加载页面,这意味着重新加载整个 GWT 页面并重置所有状态信息。这可能不是你想要的。
所以简短的回答是,虽然在技术上是可行的,但它会将行为从单页网站更改为每次历史更改时重新加载的多页网站,这可能不是您想要的。
【讨论】: