我想在点击浏览器的后退按钮时停止导航
$(window).on('beforeunload', function(e){
realTimePersonalizationTest(e);
});
function realTimePersonalizationTest(e) {
event.preventDefault();
}
但是这段代码正在运作。它是导航回到上一页。
答案 0 :(得分:2)
防止点击后退按钮导航听起来不对
使用beforeunload
事件唯一可以做的就是返回一个字符串,以便在用户离开页面之前提示用户。
$(window).on('beforeunload', function(e){
return "Are you sure? Please, don't leave.";
});
例如,打开this JSFiddle demo并尝试关闭它。
最有可能的是,出于安全原因,浏览器不会支持任何其他实现。后退按钮是“硬件”按钮,应始终导航到上一页。
您可以使用重定向,会话变量等实现此限制服务器端 但是,为什么需要禁用此行为?我坚信应该有另一种更一致的浏览器和用户友好型解决方案。
答案 1 :(得分:0)
如果您不需要支持旧的IE浏览器,则此代码段将适用于您。
var path = 'Name of your page';
//Like for www.Test.com/abc.html write abc.html in path variable
history.pushState(null, null, path + window.location.search);
window.addEventListener('popstate', function (event) {
history.pushState(null, null, path + window.location.search);
});
我希望这对你有用..更多信息请查看http://www.cheezycode.com/2015/08/how-to-stop-browser-back-using-javascript.html
答案 2 :(得分:0)
您可以使用popstate事件来检测浏览器后退按钮
window.onpopstate = function(event) {
window.location.assign("www.google.com");
};
然后在此代码中找到您当前的页面而不是window.location.assign(“www.google.com”);