Привет, коллеги!
Столкнулся со странным поведением IE.
Есть скрипт, который:
- по клику на ссылке активирует input[type=file]
- по change на input[type=file] создает форму, перемещает в нее инпут с выбранным файлом и субмитит в iframe.
В ИЕ10 при form.submit() бросается исключение "Отказано в доступе". Самое прекрасное - если повторить отправку в трехкратном try-catch, с третьей попытки форма отправляется.
Вот
работающий пример и
исходник. Смотрим в IE. При выборе файла сразу через input все отправляется с первой попытки, а вот если вызвать диалог выбора файла кликом на ссылку, в консоли будет такое:
submit 1 failed: Error: Отказано в доступе.
submit 2 failed: Error: Отказано в доступе.
submit 3 ok
Боевая задача - заменить стандартный инпут на красивую кнопку при использовании библиотеки
jQuery Ajax File Upload. Добавление хака с трехкратным try-catch в исходник либы помогло, но использовать это странное решение в продакнше, без понимания природы проблемы, не хочется.
Пожалуйста, помогите разобраться, почему он себя так ведет, почему работает этот загадочный хак и какими еще проблемами грозит такое поведение. Спасибо.
P.S. в комментах в блоге мне пишут, что воспроизводится также в IE9,
сам не смотрел да, так и есть.