我可以禁用“;背面“;按钮浏览器功能
Can I disable "back" button browser function?
我想更改"返回"浏览器按钮的功能。我试过这个:
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
相关文章:
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 使用(navigator.geolocation)检测浏览器功能错误
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 对于如何在没有modernizr的情况下用边界半径的功能检测检查来替换我的旧浏览器检查
- 如何(功能)检测浏览器是否支持WebM alpha透明度
- 用户使用浏览器时SPA中的问题's的后退或刷新功能
- angular应用程序中的浏览器功能检测:使用服务、指令、控制器
- 在浏览器上显示实习运行程序功能测试的结果
- 是否有用于CSS浏览器支持新功能的javascript解决方案
- 为什么本机浏览器排序功能的工作速度比快速排序慢
- 从用户脚本空间重新定义Firefox中的原生浏览器功能
- 如何在 JS 中管理浏览器功能
- 使用 try catch(e) 进行浏览器功能检测
- 有没有办法意识到由于内置的“记住密码”浏览器功能而自动填充的输入
- Node.js selenium webdriver - 在测试中获取浏览器功能
- 代码库中的浏览器功能检测 - 我正在使用..
- 通过SWT浏览器/ SWT浏览器功能从GWT应用程序调用Java方法
- 如何禁用浏览器功能
- 我可以禁用“;背面“;按钮浏览器功能
- 如何覆盖默认的浏览器功能