我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如:
onclick="callPage(2); window.location.hash='p=2'; return false;"
并且多数民众赞成在hyperlink它工作正常,一切,除了,当页码为1时,我不想URL成为/products#p=1,我只是希望它成为/products
hyperlink
URL
/products#p=1
/products
我尝试了以下变体:
window.location.hash=''
/products#
/products#p=3
<a href="#">
javascript:void(0)
所以最后,我决定创建此线程,在这里找到了几个类似的线程,但是所有答案都与第二点非常相似。
所以我的大问题仍然是一个问题:如何将哈希从URL踢出,甚至从宇宙中踢出去?(仅用于首页!)
更新的答案 :
达到此目的的最佳方法是遵循Homero Barbosa的以下回答:
history.pushState("", document.title, window.location.pathname);
…,或者,如果您想维护搜索参数:
history.pushState("", document.title, window.location.pathname + window.location.search);
原始答案,不要使用这个,badwrongfun :
var loc = window.location.href, index = loc.indexOf('#'); if (index > 0) { window.location = loc.substring(0, index); }
…但这为您刷新了页面,刚到达那里似乎有点不礼貌。咧着嘴笑,似乎是最好的选择。