私は現在、ウェブフロントエンドを使用して記事を編集するためのロック/ロック解除機能に取り組んでいます。編集後、ブラウザを閉じた後、またはページを離れた後に記事のロックを解除するための信頼できる手法として、次の概念を開発しました。
- 編集ページへのアクセス時に記事をロックする
- ロック解除アクションにタイムアウトなしで 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)
しかし、同じ結果で、ループを離れることはありません。