Chrome阻止用户关闭BeforeUnload对话框
Chrome prevents user from closing onBeforeUnload dialog
一个客户端在Google Chrome中遇到了一个非常奇怪的错误。她刚打电话给我,事情又发生了第二次。
在CRM的报价页上,如果报价尚未保存,我会在onbeforenload上返回一个字符串。该对话框只是警告用户确保他/她在离开页面之前保存了报价。
这是两周内第二次对话陷入困境。单击"停留在此页面"或"离开此页面",两个按钮都会立即再次显示相同的对话框。由于对话框位于浏览器的顶部,甚至不可能将浏览器(或选项卡)作为一个整体关闭。唯一的解决方案:任务管理器。
在办公室里,我们使用相同的CRM(并且已经使用了好几个月),没有任何问题。我是在看谷歌Chrome漏洞还是谷歌Chrome安装错误?
$(function() {
$(window).on('beforeunload', function() {
if (quoteIsDirty) {
return 'Warning - You have made changes to the quote, but have not saved your changes yet. Are you sure you want to close this page?';
}
});
});
如果看不到实际的代码,就很难判断。但这里有一些想法:
- 触发
beforeunload
的多个或不同事件,如window.close
和window.location = ...
- 具有指数回退或与脏状态不一致的类似机制的持久性函数
- 比赛条件
这当然可能是Chrome的错误,但我已经学会了不愿意责怪Chrome,因为它几乎总是我的应用程序的问题。:)
相关文章:
- 着色引导框对话框
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- CKeditor:更改对话框中的默认选择选项
- 搜索api在mac上显示对话框
- 使用密码对话框Javascript请求帮助
- CKEditor v4:自制插件中对话框的动态标题
- 删除确认对话框在第一次单击时不起作用
- 使用jquery对话框中的箭头键
- 获取打开jquery对话框的button的id
- 是否可以用JavaScript显示等效的文件夹对话框
- 我怎么能让jQuery对话框表现得像Javascript警报
- 如何在页面重新加载时显示jquery ui对话框
- 打开相对于鼠标位置的CSS3/HTML5模式对话框
- javascript确认对话框有时会不断出现
- 使用FB.ui的Facebook Feed对话给出API错误191
- pushState()正在驳回'记住密码'对话
- 如何为javascript方法放入jquery确认对话框
- Chrome阻止用户关闭BeforeUnload对话框
- FireFox不会为window beforeunload事件显示任何警告对话框
- 阻止/禁用beforeunload对话框