我的应用程序是MVC5,我想在用户关闭浏览器选项卡时提醒用户。
我发现此解决方案Setting onbeforeunload on body element in Chrome and IE using jQuery效果很好,除了在少数情况下使用location.href(Telerik网格内的自定义命令按钮)之外。
尝试了以下内容:
$(window).bind('hashchange', function() {
validNavigation = true;
});
避免询问用户是否要离开页面。
关闭浏览器标签之前,有没有更好的方法来提醒用户?
最佳答案
尝试这个 ;)
需要在此代码中进行一些修改:
window.onbeforeunload = function() {
if(validNavigation){
validNavigation = false;
/* if this click is valid means user action is not close window or reload page then just return; */
return;
}
/* Want to ask user before leaving the page */
return "Are you sure you want to leave this page bla bla bla?"; // you can make this dynamic, ofcourse...
};
validNavigation = true;
$(document).on('click', '.validNavigation', function(){
validNavigation = true;
});
现在,您需要为所有不想向用户显示
validNavigation
消息的链接添加onbeforeunload
类到所有链接。更新根据评论:
function gotopage(args){
/* set validNavigation to true to don't show warning on page load; */
validNavigation = true;
window.location.href = [args];
}
您不希望对用户显示哪个警告,只需设置
validNavigation = true;
并在可能导致位置更改的位置放置put语句即可;关于javascript - 使用location.href进行onbeforeunload导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36687168/