Диалоговое окно ввода файла открывается очень медленно в Google Chrome

#html #google-chrome #file-upload #input

#HTML #google-chrome #загрузка файла #ввод

Вопрос:

У меня есть простой ввод для загрузки файлов, и он принимает только .class файлы:

 <input type="file" accept=".class">
  

Проблема в том, что свойство accept ( accept=".class" ) заставляет диалоговое окно открываться очень медленно в Chrome, иногда это занимает даже до 10 секунд, но оно отлично работает в Mozilla Firefox и Internet Explorer. Я использую последнюю версию Chrome — 53.0.2785.116 m (64-bit) . Я нахожу это действительно глупым, потому что другие расширения также отлично работают в Chrome. Я читал другие вопросы с аналогичными проблемами, некоторые из них предполагали, что добавление name свойства может решить проблему, но в данном случае это не помогает. Проблему действительно легко воспроизвести, вам нужна только строка кода, которую я предоставил.

Редактировать:

Сегодня Google опубликовал обновление 53.0.2785.143 , и, похоже, оно устранило проблему.

Комментарии:

1. У меня такая же проблема. Нормально в Firefox, очень медленно в Chrome….

2. Здесь то же самое. Кто-нибудь нашел ссылку на ошибку? Похоже на регрессию в 53.0.2785.116

3. Я получаю медлительность каждый раз, когда щелчок имитируется с помощью JS

Ответ №1:

Это Forms>File amp;colspec=ID Pri M Stars ReleaseBlock Component Status Owner Summary OS Modified» rel=»noreferrer»>известная ошибка регрессии в версии Chrome 52.0.2743.116 .

Временное решение — использовать mime-тип и быть явным (без подстановочных знаков). Например, заменить:

<input type="file" name="images[]" multiple="multiple" accept="image/*">

с:

<input type="file" name="images[]" multiple="multiple" accept="image/gif, image/png, image/jpeg, image/bmp, image/webp">

Чтобы решить вашу конкретную проблему, это должно сработать:

<input type="file" accept="application/java-vm"> согласно списку типов mime

Комментарии:

1. Большое спасибо за ответ! Что было бы обходным путем для .class расширения?

2. Отлично, спасибо. Кстати, сегодня Google опубликовал обновление для Chrome, я загрузил его несколько минут назад, и, похоже, проблема устранена, код, который я предоставил в своем вопросе, теперь работает по назначению — задержки нет. googlechromereleases.blogspot.rs/2016/09 /…