Поддерживает ли Firebreath обновления подключаемых модулей в Internet Explorer после создания экземпляра без перезапуска?

Фрагмент кода:

navigator.plugins.refresh(false);

var a = new ActiveXObject(collab.axName);
if (a) {
  version = parseVersion(a.version);
}

Я запускаю что-то очень похожее на приведенное выше, чтобы проверить версию моего установленного плагина FB. Если он устарел, я заменяю его более новой версией (стандартный установщик Windows Firebreath bog). Однако, если я снова запускаю фрагмент, более новая версия не обнаруживается - новый объект ActiveX имеет старый номер версии.

Создание объекта ActiveX кажется ключевым - установка обновления перед созданием объекта будет работать правильно, и обновление будет обнаружено при перезапуске браузера. И обновления отлично работают в браузере NPAPI (который определяет версию с помощью navigator.plugins).

Интернет Эксплорер 10, Виндовс 7.

Мой вопрос:

Является ли это ожидаемым поведением (или свидетельствует об ошибке в моем коде)? Если это ожидается, существует ли известное обходное решение или альтернативный подход для достижения той же цели установки обновления без перезапуска браузера (например, определение версии без создания экземпляра, принудительное обнаружение обновления ActiveX)?


person BenOfTomorrow    schedule 04.06.2013    source источник
comment
Сам FireBreath не имеет к этому никакого отношения (насколько я могу судить). navigator.plugins.refresh, конечно, не поддерживается IE. Я успешно использовал метод, который вы описываете, но уже несколько лет; тем временем я решил, что обновление на месте не стоит проблем с устранением неполадок, и я больше не делаю этого.   -  person taxilian    schedule 05.06.2013
comment
Спасибо за ответ. Я видел подобные ответы от вас в другом месте (stackoverflow.com/a/16423202/204376) - надеялся на что-то большее многообещающе с более конкретным запросом, но c'est la vie. Приятно знать, что этот подход хотя бы работал в какой-то момент в прошлом.   -  person BenOfTomorrow    schedule 05.06.2013
comment
Я полагаю, что, возможно, в огнедышащем есть что-то, что удерживает его от разрядки; вы можете поэкспериментировать с освобождением объектов и т.п. в FBControl.h. Я знаю, что это должно быть возможно, но я не знаю никого, у кого это действительно работало бы с самим Firebreath.   -  person taxilian    schedule 05.06.2013