onbeforeunload导航使用location.href
onbeforeunload navigation using location.href
我的应用程序是MVC5,我想在用户关闭浏览器选项卡时提醒他们。我发现这个解决方案使用jQuery在Chrome和IE中的body元素上设置onbeforenload,效果很好,除了我在少数情况下使用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;
并在其后面放置语句可能会导致位置更改;
相关文章:
- 我可以使用location.href为变量生成url吗
- 如何将所有作业自定义到window.location.href
- 如果window.location.href.indexOf('player=1')添加样式
- 设置location.href在<a>点击
- 可以'当window.location.href时,无法从javascript获取post值
- window.location.href/reload导致AngularJS[$rootScope:infdig]达到1
- 如何在同一页面上使用windows.location.href将js值传递给php时停止刷新页面
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 历史推送状态不在独立的 location.hash 或 location.href 中,而是在 Location 对象本
- window.location.href =“#find” 适用于移动设备,但不适用于 PC.在本地站点上正常(表达式
- Javascript-将变量传递给php页面,window.location.href不起作用
- 使用 Div 标签的 location.href 属性时,Eval 不起作用
- 使用 location.href 重定向
- Location.href 叫了两次
- onbeforeunload导航使用location.href
- 如何在windows.location href中插入变量
- 使用self.location.href重定向不会'不起作用
- 在window.location.href中使用php
- 浏览器11上的Javascript location.href崩溃
- 如何在Jquery Mobile和RequireJS中使用window.location.href时避免出现空白页