jQuery / Javascript事件检测页面更改取消
jQuery / Javascript event to detect page change cancellation
一个有点曲线球的请求,可能没有解决方案,但值得一问…
我们有一个基于ajax的网站,我们非常依赖模态/加载屏幕来指示什么时候发生了重要的事情。一切正常
我们也有一些操作触发整个页面的变化,这可能需要几秒钟。当这些变化开始时,我想施加相同的模态/加载屏幕,但是-如果用户取消页面加载,我想检测它并把加载模态下来。否则它就会永远呆在那里。
我可以监视正在使用的Escape键,但是是否有一种方法可以以更通用的方式检测取消,这种方式也可以在浏览器的取消控件启动时工作?
感谢注:需要说明的是,这里我指的是正常的页面更改。提到其他地方使用的AJAX只是为了解释为什么我现在想要加载屏幕;的一致性。否则,我想我们都会同意,仅仅为了浏览网站而设置加载屏幕是不正常的。
结果显然不可能。niklas发现:但现在我知道你想做什么了,我找到了这个https://stackoverflow.com/a/1776490/3877639。恐怕我不看好你的胜算。
开始回答,然后我看到Carlos的回答,我想我可能误解了你的问题。我将把我的第一个答案留在下面,以防万一它对你有什么用处。
您希望检测页面加载被取消。但是如果页面加载被取消,ajax调用不会失败吗?你能不能听一下,然后把模态/加载屏幕拿下来?
不知道你是否使用jQuery的。ajax(),但如果有任何错误,它很容易做的事情。
您要查找的是onunload事件。然而,浏览器的支持不是很好(从链接中可以看到)。
还有onbeforeunload事件,它有更好的浏览器支持,但它会触发一个浏览器对话框,你不能覆盖。发个短信给。然后用户可以选择留在页面上或离开/关闭它。
基本上你可以中止XMLHttpRequest ajax调用返回jQuery。
查看
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如何检测是否有溢出
- jquery点击函数select&取消选择
- 如何检测用于WebGL的专用或集成显卡
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- blueimpjquery文件上传如何检测按下取消按钮
- 上传文件时检测到已取消的拖放操作
- 如何检测单选按钮取消选择事件
- 用于检查和取消选中复选框列表控件检测的 Javascript
- 如何在 d3.js 中检测当前元素的位置并取消动画
- 检测触摸开始/触摸结束是否取消了滚动(动量滚动)
- 使用Javascript或jQuery检测导航中的取消
- 如果将检测到请求中,则取消加载页面”;一些单词"镀铬加长件
- 无法检测到用户按下'取消'从window.prompt()
- jQuery / Javascript事件检测页面更改取消
- 用Javascript检测取消的表单发布
- 检测窗口.打印是确认或取消
- 检测范围取消选择
- 如何检测用户取消共享时,使用fb.ui