我想重写历史 token 。不知道有没有可能。 例如如果我的应用程序 URL 是 http://localhost:8080/myapp/#login其中包含“登录”作为历史标记。是否可以重写 URL,如 http://localhost:8080/myapp/user/login .
或者是否可以从历史标记中删除“#”?
最佳答案
#
标记在 URL 中具有特殊含义。浏览器将 #
标记之前的所有内容解释为要加载的页面,将 #
之后的所有内容解释为页面上的附加信息。这意味着如果在 #
标记之后的 URL 中发生了某些更改,则不会重新加载网页,但它会创建一个浏览器历史记录项。 GWT 使用它来创建新的历史记录项,而不重新加载页面。
如果您将 URL 从 #login
重写为 /user/login
,您将指示浏览器重新加载页面,这意味着整个 GWT 页面被重新加载并且所有状态信息都被重置。这可能不是您想要的。
所以简短的回答是,虽然这在技术上是可行的,但它将行为从单页网站更改为每次历史记录更改时重新加载的多页网站,这可能不是您想要的。
关于GWT 历史 token 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355175/