Tag: onbeforeunload

即使在调用abort之后,浏览器也会等待ajax调用完成(jQuery)

我有一些(可能)长时间运行的ajax调用,如果用户导航到另一个页面,我想中止。 以下jQuery代码在导航离开页面时调用所有挂起的XMLHttpRequest对象的中止: $.ajaxSetup({ beforeSend: function(xhr) { $(window).bind(‘beforeunload’, function() { xhr.abort(); }); } }); 在测试用例中,我强制在被调用的服务器端操作上等待10秒钟。 使用Firebug,我确认上面的代码确实导致所有挂起的ajax调用在我单击页面上的任何链接时立即停止。 但是,浏览器仍然等待整整10秒,然后再转到下一页。 IE似乎表现出相同的行为。 这是一个已知的浏览器行为吗? 在这种情况下,我能做些什么让用户立即离开页面? 提前致谢。

如何知道用户是否点击了Javascript onbeforeunload对话框上的取消?

当有人试图离开特定页面而没有保存他们的工作时,我弹出一个对话框。 我使用Javascript的onbeforeunload事件,效果很好。 现在,当用户在出现的对话框上单击“取消”时,我想运行一些Javascript代码(说他们不想离开页面)。 这可能吗? 我也在使用jQuery,所以有可能像我之前可以绑定的beforeunloadcancel这样的事件吗? 更新 :如果用户选择取消,则实际上是将用户保存并指向不同的网页