我试图在使用unlaod事件和jQuery卸载页面之前触发AJAX请求:
jQuery(window).on("unload", function(event) {
SaveSettings();//makes an ajax request with the 'async' property set to false
});
这在IE9和FF10中运行良好,但在webkit浏览器(特别是chrome和safari)中,事件被调用,但AJAX请求永远不会完成。我将jQuery的AJAX调用设置为同步(我意识到这可能会“阻止”浏览器,但它应该很快!)。我甚至尝试直接绑定到window.onbeforeunload事件,但结果相同。我认为对web服务的同步请求应该阻止浏览器在调用完成之前关闭,对吗?