ユーザーが特定のページを離れた場合に実行したいこの関数があります。この関数は基本的に、データベースの特定の列内のすべてのデータを変更します。したがって、ユーザーがこのページを離れた場合に備えて、この機能をシステムで実行してもらいたいと思います。ユーザーがすでにページを離れたかどうかを検出する方法はありますか?
ありがとう!
ユーザーが特定のページを離れた場合に実行したいこの関数があります。この関数は基本的に、データベースの特定の列内のすべてのデータを変更します。したがって、ユーザーがこのページを離れた場合に備えて、この機能をシステムで実行してもらいたいと思います。ユーザーがすでにページを離れたかどうかを検出する方法はありますか?
ありがとう!
100%の信頼性では、いいえ、それは不可能です。特定のページを離れることはクライアント側の操作であるため、クライアントの動作を制御することはできません。Javascriptを介してハンドラーを登録onbeforeunload
し、クライアントブラウザーがそれをサポートすることを期待できます。しかし、繰り返しになりますが、これのサポートは普遍的ではありません。
PHP でこれを行うことはできませんが、javascript 関数 onbeforeunload を使用できます。ここに例を示します。
<script type="text/javascript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?";
}
</script>
PHPはサーバー側の言語であるため、PHPを使用してこれを行うことはできません。JavaScriptを使用する必要があります。
サーバー側の php はサーバー スクリプトのみを実行し、結果をブラウザーに送信するため、php だけでこれを行うことはできません。javascript を使用して onunload イベントで ajax リクエストを php スクリプトに送信し、そのリクエストに応じて php スクリプトを実行できます。