我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如:
onclick="callPage(2); window.location.hash='p=2'; return false;"
并且多数民众赞成在hyperlink
它工作正常,一切,除了,当页码为1时,我不想URL
成为/products#p=1
,我只是希望它成为/products
我尝试了以下变体:
window.location.hash=''
的作品,但网址现在就像/products#
,我不很哈希那里。/products#p=3
因为我没有弄乱哈希。<a href="#">
,他应该javascript:void(0)
改用它。(他们是否从未听说过Ajax?)所以最后,我决定创建此线程,在这里找到了几个类似的线程,但是所有答案都与第二点非常相似。
所以我的大问题仍然是一个问题:如何将哈希从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);
}
...但这为您刷新了页面,刚到达那里似乎有点不礼貌。咧着嘴笑,似乎是最好的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句