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)并调用他的方法locationhref。前几次我不得不使用它并为我工作。

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

于 2013-05-17T10:08:07.557 回答