我目前正在研究使用网络前端编辑文章的锁定/解锁功能。作为在编辑、关闭浏览器或离开页面后解锁文章的可靠技术,我开发了以下概念:
- 访问编辑页面时锁定文章
- 立即向解锁操作发送 AJAX 请求而不超时
解锁操作具有以下代码。在取消 ajax 请求之前,它应该什么都不做。
ignore_user_abort(true);
set_time_limit(0);
while (!connection_aborted()) {
usleep(100000);
}
// do database operations to unlock the article
但是在 ajax 请求被 ie 取消之后。离开页面,它永远不会离开while循环。我也试过这个来测试一个中止的连接:
while (connection_status() === CONNECTION_NORMAL)
但结果相同,它永远不会离开循环。