Internet Explorer 9 (IE9) зависает после закрытия формы activex, например, обычного диалога (comdlg32.ocx)
Мое приложение для внутренней сети позволяет пользователям просматривать и печатать с помощью элемента управления ActiveX CommonDialog (comdlg32.ocx). Это хорошо работало IE6-IE8.
На клиентских машинах IE9 общее диалоговое окно отображается как обычно, однако при нажатии кнопки "ОК" или "Отмена" и закрытии диалогового окна браузер зависает. Как будто браузер думает, что общий диалог все еще открыт. Это не ограничивается comdlg32 и влияет на другие компоненты ActiveX, которые мы также используем.
Однако, если я вызываю Alert(); после вызова commondialog браузер не зависает (немного грязно, если пользователь нажал "отмена").
Диалоги HTML работают нормально, например, document.execCommand("SaveAs", "1", "fileName.txt"), но они не предлагают нужную мне функциональность (например, для поиска папки).
Чтобы прояснить эту проблему, я создал простой файл HTML с тегом объекта для commondialog и кнопку html, которая вызвала следующую функцию javascript:
function saveFile () {dialog.ShowSave (); }
Очень надеюсь, что кто-то может помочь здесь, поскольку я провел неделю, пытаясь решить это!
PS Использование Windows 7 (пробовал Vista) IE9, на разных клиентских машинах.
Спасибо
Ник
1 ответ
См выше редактировать. Это известная ошибка MS в IE9. Они говорят, что выпустят правильный патч в течение двух месяцев, но показанный выше взломщик работает на удовольствие.