我使用 beforeunload 事件来触发页面更改并清除当前页面上的“锁定”。这将在 change.php 文件的 clearLock 函数中删除。当我更改页面时,它工作正常。当我关闭选项卡时它也可以工作,但当我关闭 Firefox 时它不起作用。
我的解决方案是使请求同步。从技术上讲,一切都很好,一切正常。但是页面加载的大约 60% 的响应时间是用于等待同步请求。此外,通常会冻结几秒钟。
我的请求如下所示:
$(window).bind('beforeunload', function() {
var login_name=<?php echo json_encode($_SESSION['user']); ?>;
$.ajax({
type: 'POST',
url: "../libraries/change.php",
data: {
funct: "clearLock",
login: login_name
},
async:false
});
});
那么是否可以在关闭窗口时使用异步请求触发beforeunload?