繁体   English   中英

如何使用location.replace进行哈希

[英]How to use location.replace for a hash

我试图重定向用户而不重新加载页面。 因此,如果用户单击<a href="#link1"> ,则应重定向到#link2

问题是,如果我使用location.hash="link2" ,它将在历史记录中添加2个我不想要的条目,因为当用户单击“后退”按钮时,它将转到link1 ,然后重定向到link2 ,因此用户基本上无法不打开已访问页面的列表而返回。

如果我使用location.replace ,它将从服务器重新加载整个页面,我也不想要。

有没有人可以在不添加新历史记录条目的情况下重定向用户?

我不想使用replaceState因为它与不支持HTML5的浏览器向后兼容。 我也不想使用诸如event.preventDefault()类的东西,以便用户可以在其浏览器中为链接添加书签,并且它的工作方式相同。

我认为您正在寻找window.history.replaceState

您也可以只使用JavaScript和jQuery处理onclick事件,然后滚动到定位点而无需触发浏览器。 这是使用jQuery的.animate()函数进行平滑滚动的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM