我已使用有效的window.history.go()方法转到上一页按钮。
问题:重新加载页面后,我需要多次单击按钮才能转到上一页。
那么如何防止多次单击“后退”按钮再次单击首次单击?
使用history.pushState()
和window.onpopevent()
方法创建本文:https://www.safaribooksonline.com/library/view/javascript-cookbook/9781449390211/ch20s04.html,这可以解决吗?
以及如何在我的代码中实现?
代码
HTML:
<div id="goToPreviousPage">
<a href="#"></a>
</div>
JS:
const goBackButton = document.querySelector("#goToPreviousPage");
goBackButton.onclick = function(e) {
window.history.go(-2);
}
在重新加载页面后,使用window.onbeforeunload
方法的返回按钮可以正常工作,但是在正常状态下,不重新加载页面的返回按钮将无法导航:
goBackButton.onclick = function(e) {
window.onbeforeunload = function(event)
{
return confirm("Confirm refresh");
};
window.history.go(-4);
}
有什么建议吗?
答案 0 :(得分:0)
我认为问题是您的href =“#”在单击时会将当前页面添加到历史记录中。尝试在函数中添加以下内容,以防止链接出现默认行为。
e.preventDefault()