ファイルをphpのサーバー側スクリプトに送信するアップローダーアプレットを使用しています。ファイルのアップロードが完了する前にユーザーがページを閉じた場合、適切に処理できなかったため、ファイルがサーバーから削除されるようにしたいと考えています。
この問題は、1 つのサイトで 2 つのサーバー側スクリプトを同時に呼び出そうとしていることに起因しています。
アップローダー アプレットを実行せずにページを閉じると、ファイル削除スクリプトが呼び出されます。
$(window).bind('beforeunload', function(){
$.post("cancel.php");
});
しかし、アップローダー アプレットを実行すると、イベントはトリガーされず、ファイルはサーバーに置かれたままになります。アップロード スクリプトを停止してキャンセル スクリプトを実行できるようにする方法はありますか? そうでない場合、キャンセル スクリプトを実行してウィンドウを閉じる前に、アップロード スクリプトが停止するのを待つ方法はありますか?
編集:ああ、あなたの質問への答えをグーグルで調べて、スタックオーバーフローに関するあなたの質問がグーグルで一番ヒットしていることを確認する喜び...
編集 2: beforeunload イベントで呼び出しの順序を並べ替えた後、必要なときに必要なスクリプトを呼び出すことができました。cancel()
他のスクリプトを呼び出す前に、アプレットを呼び出していることを確認する必要がありました。