我可以禁用“;背面“;按钮浏览器功能

Can I disable "back" button browser function?

本文关键字:浏览器 功能 按钮 背面 我可以      更新时间:2023-09-26

我想更改"返回"浏览器按钮的功能。我试过这个:

window.onbeforeunload = function() {
    show_page(last_page, 'not-search'); 
}

它在一定程度上起作用:它调用函数,但浏览器无论如何都会导航到上一页。有解决方案吗?

编辑我需要这样做:

index(ajax内容)---用户点击--->其他ajax内容(我称之为A内容)
一个内容--->后退按钮--->上一个索引内容

在函数中返回一个字符串以警告用户并提供取消选项。

window.onbeforeunload = function() {
    show_page(last_page, 'not-search'); 
    return "please do not use the back button";
}

完全致残是一种既棘手又糟糕的做法。以这种方式限制用户很容易被视为垃圾邮件或不必要的行为。

编辑

在我阅读了您的编辑之后,我建议您在使用ajax修改页面时使用history.pushState。这样,后退按钮将导航到您想要的早期状态。查看API历史,了解您需要的所有函数。

当按下上一个按钮时,它将触发window.onpopstate功能,您可以处理该功能来加载正确的内容。参见以下示例:

window.onpopstate = function(event) {
  alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};

阻止用户转到上一页

在页面底部添加此js

<script language="text/javascript">
window.history.forward();
</script>

看看这个:http://www.irt.org/script/311.htm

以上网站报价:

简单的答案——你做不到。

更长的答案-你不能完全取消用户返回前一个位置的功能,尽管你可以让它变得更难。

在您的问题中添加更新后:

如果使用Ajax操作页面的内容,则可以手动更新浏览器的历史记录。您还应该考虑在url的末尾添加散列。

有关API历史的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/History_API