jQuery / Javascript事件检测页面更改取消

时间:2014-07-25 21:53:40

标签: javascript jquery events load

一些曲线球请求可能没有解决方案,但值得一提......

我们有一个沉重的基于AJAX的网站,我们非常依赖模态/加载屏幕来指示何时发生重要事件。一切顺利。

我们还有一些操作会触发整页更改,这可能需要几秒钟。我想在这些更改启动时强制使用相同的模态/加载屏幕,但是如果用户取消页面加载我想检测它并将加载模式降低。否则它会永远坐在那里。

我可以看到正在使用的Escape键,但有没有办法以更通用的方式检测取消,当浏览器的取消控件启动时它也能正常工作?

由于

P.S。为了清楚起见,我在谈论这种情况下的正常页面更改。提到其他地方使用的AJAX只是为了解释为什么我现在想要加载屏幕;为了一致性。否则我认为我们都同意加载屏幕只是为了浏览一个网站是不正常的。

RESULT

显然不可能。 尼克拉斯发现: 但现在我看到你要做的事情,我发现了https://stackoverflow.com/a/1776490/3877639。我不喜欢你的赔率。

2 个答案:

答案 0 :(得分:1)

开始回答,然后我看到卡洛斯回答并认为我可能误解了你的问题。我将我的第一个答案留在底部,以防万一它可能对你有用。

您希望检测到已取消的页面加载。但是如果页面加载被取消,那么ajax调用会失败吗?你不能听一些如何然后取下模态/加载屏幕吗?

不知道你是否使用jQuery's .ajax(),但如果有任何错误,那么它很容易做到。


您正在寻找的是onunload事件。但是,浏览器支持不太好(如链接中所示)。

还有onbeforeunload事件具有更好的浏览器支持,但它会触发您无法覆盖的浏览器对话框。只需发送短信即可。然后,用户可以选择留在页面上或离开/关闭它。

答案 1 :(得分:0)

基本上你可以用jQuery中止 XMLHttpRequest ajax调用。

请参阅this