浏览器返回按钮上的确认框
Confirm box on browser back button
我想在浏览器的背面或刷新按钮上捕捉事件。我并没有找到任何一个完美的解决方案,只捕获back事件,并且兼容所有浏览器。请提供一些解决方案。
提前谢谢。
您可以使用HTML5历史API中的事件处理程序onpopstate
,如下所示:
$(document).ready(function() {
if (window.history && window.history.pushState) {
$(window).on('popstate', function() {
//confirmation box
confirm('Back button clicked!');
});
}
});
请注意,您需要有一个页面返回…
window.userInteractionTimeout = null;
window.userInteractionInHTMLArea = false;
window.onBrowserHistoryButtonClicked = null; // This will be your event handler for browser navigation buttons clicked
$(document).ready(function() {
$(document).mousedown(function() {
clearTimeout(window.userInteractionTimeout);
window.userInteractionInHTMLArea = true;
window.userInteractionTimeout = setTimeout(function() {
window.userInteractionInHTMLArea = false;
}, 500);
});
$(document).keydown(function() {
clearTimeout(window.userInteractionTimeout);
window.userInteractionInHTMLArea = true;
window.userInteractionTimeout = setTimeout(function() {
window.userInteractionInHTMLArea = false;
}, 500);
});
if (window.history && window.history.pushState) {
$(window).on('popstate', function() {
if (!window.userInteractionInHTMLArea) {
//document.location.href = "logOff.htm";
setTimeout(function(){ var answer = confirm("Are you Sure?? This will expire your session");
if(answer == true)
{
document.location.href = "logOff.htm";
}
},100 );
//alert('Browser Back or Forward button was pressed.');
}
if (window.onBrowserHistoryButtonClicked) {
window.onBrowserHistoryButtonClicked();
}
});
}
});
相关文章:
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 浏览器返回按钮上的确认框
- 地理位置无法返回确认
- 当我编码窗口时如何返回真或假.确认自己
- 获取jquery确认在函数中返回的结果
- 从服务器调用确认对话框 ASP.NET.并返回服务器上的选择
- 带有 Jqueryui 的确认消息始终返回 true
- JavaScript 在确认取消时无法返回 false
- PHP 标记中的 JavaScript 确认框不断返回 TRUE
- 确认对话框立即返回 false
- 如何显示返回确认的返回答案
- javascript确认函数ok和cancel返回相同的结果
- JavaScript 确认函数 OK 和 取消 返回相同的结果
- Javascript确认返回post值
- 如何基于服务器端JavaScript确认返回来停止点击事件
- 如何使用确认警报并返回AJAX承诺
- javascript确认框总是返回true
- 如何从确认弹出警报中获取返回值
- simplemodal确认示例等待返回值
- 删除确认返回未定义在chrome中