Я знаю, что это действительно старый, но, похоже, нигде не было хорошего ответа после того, как я выполнил поиск, поэтому я хотел добавить его здесь:
Решение заключается в инициализации загрузки при каждом открытии окна fancybox, выполняя это в обработчике onStart ().
Вам нужно будет добавить код для сброса загрузки, если он уже был инициализирован (например, fancybox уже был открыт ранее). Вы можете сделать это, добавив код в обработчик onStart () и перед инициализацией uploadify, подобно этому:
$('#ID_FOR_FANCYBOX').fancybox({
// other fancybox settings...
'onStart': function() {
// check if it has already been initialized
if ($('#file_queue').hasClass("uploadifyQueue"))
{
// remove uploadify
$('#file_queue').removeClass('uploadifyQueue');
$("#file_upload").unbind("uploadifySelect");
swfobject.removeSWF('file_uploadUploader');
// reset the html so we can initialize uploadify again
$('#modal_upload .footer').html('<p><input type="file" id="file_upload" name="file_upload" /> or <a href="#" onclick="$.fancybox.close();return false;">cancel</a></p>');
}
// init uploadify here...
});