如何使用javascript禁用后退和前进按钮
Posted
技术标签:
【中文标题】如何使用javascript禁用后退和前进按钮【英文标题】:How do I disable back and forward button with javascript 【发布时间】:2011-08-31 19:06:50 【问题描述】:我想禁用浏览器中的后退和前进操作到我的页面。 那么如何禁用浏览器的后退和前进操作。
【问题讨论】:
从表面上看,这是个坏主意。鼓励您详细说明为什么要这样做:) @JohnP - +1。我认为不显眼的 javascript 的部分目的是给用户返回他的 Prev/Next 按钮,而不是完全拿走它们。 :) 见***.com/search?q=disable+back+button 您可以使用 AJAX 加载所有内容,这样实际的 URL 就不会改变。不过,我并没有真正看到它的用途——你想禁用它的后退按钮有什么用? 【参考方案1】:你不能。这不是浏览器公开的。
无论如何,这是一个可用性噩梦 - 我不建议这样做,因为用户非常习惯使用后退和前进按钮。
您可以以这样的方式编写您的应用程序,如果使用 back,它会“中断”,但我建议这会使您的应用程序对大多数人来说几乎无法使用。
【讨论】:
【参考方案2】:什么this SO question and answer 和this SO Q&A
这并不完全是您要寻找的东西,但会给您一个灵感,告诉您如何对用户单击后退和前进按钮做出反应。
两个帖子都提到了这个 jquery 插件:jQuery history plugin
【讨论】:
【参考方案3】:您可以使用 html 头部中的以下脚本禁用返回页面。
<script type = "text/javascript" >
function preventBack()window.history.forward();
setTimeout("preventBack()", 0);
window.onunload=function()null;
</script>
【讨论】:
【参考方案4】:通过谷歌搜索偶然发现这里。希望这会帮助那些有同样问题的人。
在强制提及这通常是一个可用性问题之后,应该在其他地方解决,我发现它可以在 chrome 85 中工作:
<script type = "text/javascript">
history.pushState(null, null, location.href);
history.back();
history.forward();
window.onpopstate = function ()
history.go(1);
;
</script>
最后,平心而论,功劳归于以下线程:
https://support.google.com/chrome/thread/8721521?msgid=10849294
【讨论】:
【参考方案5】:您可以通过以下方式禁用后退按钮
window.history.forward(1);
希望这会有所帮助...:)
干杯...
【讨论】:
以上是关于如何使用javascript禁用后退和前进按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JavaScript 禁用浏览器中的后退按钮 [重复]