2010-10-04 3 views
0

У меня есть этот javascript, который загружает выбранный файл через iframe. Мне нужно определить из iframe, был ли файл успешно загружен или нет. Проблема в том, что для загрузки файла может потребоваться 3 секунды или 30 секунд. Лучший метод, который я могу придумать, чтобы вызвать функцию, когда загрузка завершается из iframe ... Как бы настроить таргетинг на главное окно внутри дочернего iframe?jQuery загрузка файла iframe - запуск триггера или сбой

   if (file === false) { 
        var newEl = that.reset(this); 
        //fix listener 
        triggerNotification('x', 'Unable to upload file, file type not accepted'); 
       } else { 
        var id = Math.floor(Math.random()*101); 
        var form = jQuery(this).hide().after("<div class='upload'><div class='file'>"+file+"</div><div class='status'><img src='/image/progress-bar.gif'/></div></div><iframe id='"+id+"' name='"+id+"' src='about:blank' width='0' height='0' style='display: block;'></iframe>").parents('form'); 
        form.attr('target', id).submit(); 
        console.log(jQuery('iframe', form)); 
        console.log(jQuery('iframe', form).contents()); 
        console.log(jQuery('iframe', form).contents().find('body')); 
        console.log(jQuery('iframe', form).contents().find('body').html()); 

        jQuery('input[type="button"]', form.parents('.popup-panel')).show(); 

        triggerNotification('check', 'File has been uploaded'); 

        //form.replaceWith("<a href='/image/icons/accept.png' target='_blank'><img src='/image/icons/accept.png' style='max-width: 120px;'/></a><br/><span class='faded'>(Click to view actual size)</span>"); 
       } 

ответ

0

Решение было, чтобы вызвать функцию JS на странице через фрейм с помощью использования parent.jQuery... вместо window.jQuery...

Смежные вопросы