使用window.location.hash导航多个参数

时间:2012-11-12 15:59:40

标签: javascript

我正在开发一些单页功能,我正在使用window.location.hash在刷新后重建页面。

基本上我有一个简单的菜单:

<a href = "#user">User</a>
<a href = "#comment">Comment List</a>

评论列表链接时,浏览器URL将变为:

myapp.com/#comment

在此页面上有删除链接,这些链接调用一些AJAX函数来删除注释:

<a href = "#remove" class = "rmv-comment" data-id = "${commentId}">Remove Comment</a>

删除评论链接时,浏览器URL将变为:

myapp.com/#remove

这不是很有用,因为现在我无法在刷新时重建旧页面。 (#comment哈希不存在,因此将显示一些默认页面)

我正在寻找一种方法来构建像:

这样的网址
myapp.com/#comment/#remove

我尝试将不同的字符(例如\?)添加到#comment,但没有运气。提前谢谢。

1 个答案:

答案 0 :(得分:1)

在现代浏览器中,您只能使用一个哈希符号

您可以使用以下内容代替myapp.com/#comment/#remove

myapp.com/comment/remove

要更改网址而不重新加载网页,请使用window.history对象:

window.history.pushState("", "Title", "/remove");
window.history.pushState("", "Title", "/comment/remove");