Событие загрузки iframe не запускается в jquery - PullRequest
0 голосов
/ 26 ноября 2010

событие загрузки не запускается после того, как я загружаю pdf-файл как прикрепленный к iframe. есть идеи?

jQuery.download = function(url, data, method, callback){
    var inputs = '';
    var iframeX;
    var downloadInterval;
    if(url && data){
        // remove old iframe if has
        if($("#iframeX")) $("#iframeX").remove();
        // creater new iframe
        iframeX= $('<iframe src="[removed]false" name="iframeX" id="iframeX"></iframe>').appendTo('body').hide();


            iframeX.load(function(){
                callback();
            });



        //split params into form inputs
        $.each(data, function(p, val){
            inputs+='<input type="hidden" name="'+ p +'" value="'+ val + '" />';
        });

        //create form to send request
        $('<form action="'+ url +'" method="'+ (method||'post') + '" target="iframeX">'+inputs+'</form>').appendTo('body').submit().remove();
    };
}; 

МОЙ ОТВЕТ:

так что это лучший взлом, который мне удалось исправить, он использует тот факт, что всплывающее окно "сохранить как" делает главное окно не в фокусе.

var onBlur=function(){
    $('#spinner').html("");
}

    if (/*@cc_on!@*/false) { // check for Internet Explorer
        document.onfocusout = onBlur;
    } else {
        window.onblur = onBlur;
    }

1 Ответ

0 голосов
/ 26 ноября 2010

Я не вижу кода загрузки PDF в вашем примере, но я предполагаю, что средство просмотра PDF, работающее во фрейме, не является браузером, поэтому оно не поддерживает стандартные события HTML.

Опубликовать еще один вопрос, спрашивая, что вам нужно достичь . Тогда мы можем помочь.

[EDIT] Что я имею в виду: где во всем, что загружен HTML-документ, который может генерировать HTML-событие? Вы помещаете PDF в рамку; PDF-файлы не генерируют события HTML.

Но решением может быть отправка двух запросов: сначала AJAX-запрос (выполняется в фоновом режиме), а затем POST форма. Сервер должен поддерживать запрос AJAX в ожидании до тех пор, пока PDF-файл не будет отправлен клиенту, а затем он должен ответить на запрос AJAX. Это даст вам указание, когда PDF был передан. Это не идеально, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...