1

JFileUploadアプレットを使用してサイトを構築していて、特定の方法でページを閉じる処理を行いたいと考えています。アプレットがキャンセルされると、JSTransferCancelled が呼び出されます。次のコードは、これらのイベントを処理するために使用しているもので、IE を除くすべてのブラウザーで動作します。

        function JSTransferCancelled(){
            bCancel=false;
            $.post("cancel.php");
            self.close();
        }

    $(window).load(function(){

        $(window).bind('beforeunload',function(){
            document.uploader.setEnabled(false);
            if(bCancel){ document.uploader.cancel();} 
        }); 
    });

メイン サイトから新しいタブでアップローダを含むページを開き、アップロードがキャンセルされたときにページを閉じたいと考えています。しかし、IE でタブを開くと、すぐにアラートが表示され、呼び出しThe webpage you are viewing is trying to close this tab. Do you want to close this tab? [OK] [Cancel]のためにアップローダにアクセスできず、setEnabled(false)呼び出しのためにキャンセルされましたcancel()

私が探しているのは、IE だけで同じ機能です。onbeforeunload のようなイベントがさまざまなことに応答してトリガーされることで、IE には多くの問題があることを知っていますが、サイトでこれらの問題をすべて確認しましたが、何も見つかりませんでした。私が抱えている種類の問題を扱っているものにオンラインで出くわしたことはありません。

onbeforeunload 関数を上記の load 関数や などのさまざまなものにラップしようとしました$(document).ready()が、同じ問題が発生するか、新しい問題が発生します。

4

1 に答える 1

6

Microsoft のとんでもないドキュメントを確認してからbeforeunload、実際にページをアンロードしないいくつかのことを含む、呼び出しのトリガーとしてリストされているものを、使用しているコードのどれも実行しないことを確認してください (Microsoft に行ってください)。

于 2012-07-18T20:52:04.760 に答える