0

この回答のコードを実装して、フォームのアップロード時に Webkit で Ajax 呼び出しを実行しましたが、うまく機能します。 https://stackoverflow.com/a/16200886/548558

フォームが有効な場合、バックエンドはリダイレクトを提供しますが、リダイレクトはiframeで発生しますが、通常のウィンドウにしたいです。どうすればこれを行うことができますか?誰にもアイデアがありますか?

コード

$(function() {
    $('#upload-form').submit(function() {
        // Prevent multiple submits
        if ($.data(this, 'submitted')) return false;
        $(this).prop("target", "file-upload");
        // Update progress bar
        function update_progress_info() {
            // $progress.show();
            $.getJSON(progress_url, {'X-Progress-ID': uuid}, function(data, status) {
                if (data) {
                    var progress = parseInt(data.uploaded) / parseInt(data.length);
                    var width = $progress.find('.progress-container').width()
                    var progress_width = width * progress;
                    $progress.find('.progress-bar').width(progress_width);
                    $progress.find('.progress-info').text('uploading ' + parseInt(progress*100) + '%');
                    console.log("progress")
                    console.log(progress)
                    window.setTimeout(update_progress_info, freq);
                }
            });
        };
        window.setTimeout(update_progress_info, freq);

        $.data(this, 'submitted', true); // mark form as submitted
    });
});
4

1 に答える 1

2

あなたの呼び出しが になっている場合、iframeあなたのwindowコンポーネントに行き、彼の親 ( this のコンテナiframe) を呼び出し、彼のメソッドlocationとを呼び出す必要がありhrefます。私はこれを数時間前に使用しなければならず、私のために働いていました。

window.parent.location.href = "/foo.html"

于 2013-05-17T10:08:07.557 に答える