gpt4 book ai didi

javascript - 如何防止默认并覆盖浏览器的后退按钮行为?

转载 作者:行者123 更新时间:2023-11-29 16:58:14 25 4
gpt4 key购买 nike

抱歉,如果重复,但我不明白如何在我的案例中使用基本方法。当用户在浏览器中按下后退按钮时,我需要隐藏一些 div。这就是我所需要的。不得重新加载页面。我试过这种方式:

window.onpopstate = function (event) {
event.preventDefault();
alert("Back button pressed");
myDiv.style.display = 'none';
}

但这根本行不通。即使警报也不会触发。浏览器一如既往地返回。

如何让它发挥作用?首先,这必须适用于移动浏览器。使用window.location.hash会不会触发页面重载?

最佳答案

简短回答:您无法更改它。

长答案:

你应该先设置一个State然后通过事件处理程序获取它。

因此,很简单,当用户单击文档的特定部分时,例如 <a> ,你设置了一个State然后,当他点击(浏览器的)后退按钮时,您就会触发一个事件。

someElement.addEventListener( 'click', function( e ) {

history.pushState({ state: 'someElement was clicked' }, 'title', 'some-element.html' );

})

现在,当按下后退按钮时,您会收到一个警报(如您的问题中所示)。

更多信息请点击这里:Manipulating the browser history( mdn )

关于javascript - 如何防止默认并覆盖浏览器的后退按钮行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com