禁用一页应用程序的浏览器后退按钮

Dev*_*107 5 javascript browser jquery button back

我需要在单页面应用程序中禁用浏览器的后退按钮.我尝试使用像onhashchangewindow.history.forward这样的方法,但它们不起作用(原因可能是这里的url没有改变)请帮忙!谢谢.

小智 12

我在AngularJS工作,构建一个单页应用程序,我想禁用或阻止浏览器的后退按钮,因为我的应用程序有按钮和锚点,所有navgation进入我的应用程序.

我搜索并测试了很多代码,这很容易阻止浏览器的后退按钮和以下代码为我工作.

window.onpopstate = function(e){window.history.forward(1); }

当历史记录检测到第一个history.back()时

window.onpopstate

执行后,然后在此时刻之后检测历史中的任何后退或前进以进行onpopstate事件.


小智 5

import { LocationStrategy } from '@angular/common';  
 constructor( private location: LocationStrategy){  
// preventing back button in browser implemented by "Samba Siva"  
history.pushState(null, null, window.location.href);
this.location.onPopState(() => {  
history.pushState(null, null, window.location.href);
});  
}
Run Code Online (Sandbox Code Playgroud)