Среда выполнения Plupload, IE8 и HTML4 не вызывает диалоговое окно добавления файлов

У меня проблема, похожая на этот вопрос, но, к сожалению не то же самое решение.

У меня есть собственный экземпляр загрузки, очень похожий на их пример, который отлично работает в FF, Chrome и IE9. но это просто не работает в IE8 (или, по крайней мере, в самом близком к IE8: IETester).

Похоже, что загрузчик инициализируется и сообщает, что среда выполнения html4 загружена, но кнопка обзора не вызывает диалоговое окно «Добавить файлы».

Первоначально это было потому, что элемент ввода находился перед кнопкой просмотра, но я изменил z-индексы, чтобы убедиться, что кнопка просмотра находится сверху. Теперь кнопка нажимается, но диалоговое окно все еще не запускается.

Контейнер виден до инициализации plupload.

Вызов uploader.refresh() не помогает.

В той же среде IE8 пользовательский пример plupload работает.

И теперь у меня закончились другие идеи, чтобы попробовать, у кого-нибудь есть предложения?

Спасибо,


person Rob Forrest    schedule 10.01.2013    source источник
comment
на странице IETester я вижу, что Известные проблемы и ограничения: ... -Файл типа ввода не работает (диалоговое окно выбора файла не открывается) Не будет ли это причиной вашей проблемы?   -  person jbl    schedule 11.01.2013
comment
В настоящее время у меня такая же проблема. Если я найду решение, я дам вам знать. (Попутно, если вы нашли решение, пожалуйста, дайте мне знать).   -  person jay    schedule 04.03.2013
comment
@rob-forrest я нашел причину, по которой я столкнулся с похожей проблемой. Пожалуйста, проверьте это - оказалось, что это довольно простое решение для меня, и мой загрузчик теперь поддерживает IE7/8   -  person jay    schedule 07.03.2013


Ответы (2)


Спасибо @jbl, ты был прав. Эта проблема была связана с ограничениями IETester, а не с реальной проблемой.

person Rob Forrest    schedule 11.03.2013

У меня была аналогичная проблема: кнопка просмотра моей формы загрузки также не вызывала диалог браузера файлов. Моя проблема заключалась в том, что я не определил идентификатор своего родительского элемента загрузчика в параметрах загрузчика. Вы можете передать идентификатор элемента как «контейнер» в параметрах plupload.

Перед исправлением инициализация моего загрузчика была (в Coffeescript):

 options =
   runtimes: 'html4'
   browse_button: 'modal-browse'
   upload_button: 'modal-upload'
   filelist: 'modal-upload-queue'
   max_file_size: '10mb'
   url: 'upload_url.json'
   multipart_params: params

 @uploader = new plupload.Uploader(options)

Мой загрузчик размещен в модальном элементе с идентификатором «image-upload-modal». Простое добавление container: 'image-upload-modal' решило мою проблему. НАПРИМЕР:

 options =
   runtimes: 'html4'
   container: 'image-upload-modal'
   browse_button: 'modal-browse'
   upload_button: 'modal-upload'
   filelist: 'modal-upload-queue'
   max_file_size: '10mb'
   url: 'upload_url.json'
   multipart_params: params

 @uploader = new plupload.Uploader(options)

Кстати, это также исправило время выполнения flash для моего загрузчика, который также давал сбой в IE.

Если это не решит вашу проблему, я видел, что в других Q + A решения некоторых людей включали позиционирование ввода поддельного файла, который среда выполнения html4 создает для обработки загрузки файлов, например:

  1. Исправлено положение ввода поддельного файла над кнопкой обзора, так как браузер неправильно позиционировал этот элемент.
  2. Исправление z-индекса поддельного ввода файла по сравнению с кнопкой обзора.
person jay    schedule 05.03.2013