有一个众所周知的问题,即浏览器不会将 Ajax 请求放在请求历史记录中,从而导致书签、前进/后退按钮和刷新出现问题。
此外,该问题的常见解决方案是使用 Javascript 将井号 # 和一些附加参数附加到 URL window.location.hash = ...
。
例如,在这个问题中,提出了该问题的基本解决方案。
=> 我的问题是这样的解决方案是否已集成到 Wicket 中,以便使用现有的 Wicket 设施并且无需添加自定义 Javascript。如果没有,我会对如何做到这一点感兴趣。
这样的解决方案必须回答应该在散列之后放置什么的问题。
我喜欢这样的想法,即(在非 Ajax 情况下)位于哈希前面的可书签 URL 可以放在它后面。例如,当您打开http://host/catalog
并到达一个页面http://host/product/xyz
时,Ajax 触发的 URL 将是
http://host/catalog#/product/xyz
.
然后很容易编写一个onload
处理程序来检查 # 并在哈希之后重定向到 URL。