2011-01-21 2 views
2

В настоящее время у меня есть настраиваемый плагин ActiveX, который сбрасывает обычную желтую полосу с помощью кнопки установки, если у пользователя ее нет. Однако, когда они завершают установку, мне нужна страница для автоматического обновления. Есть ли способ обнаружить, что плагин был успешно установлен, который не постоянно проверяет наличие плагина. То есть, не делать этого:Захват завершенного события установки для ActiveX

function checkForPlugin() { 
    try { 
      control = new ActiveXObject('Object.One'); 
      //refresh 
    } catch (e) { 
      setTimeout("checkForPlugin()" ,2000); 
    } 
} 

Это не кажется очень профессионально и мне очень интересно, если есть лучший подход, который я мог бы принимать. Подумайте об этом ... Я не совсем уверен, как бы я там освежился, кто-нибудь может понять это? Благодарю.

Обновление - У меня есть работа с использованием вышеуказанного метода и даже решена проблема обновления. Я действительно не в восторге от этого, как реализация. Просто нехорошо оставлять браузер, который постоянно сидит в фоновом режиме, пока он не получит то, что он хочет. Это не ужасно Думаю, но я хочу, чтобы был более чистый подход. У кого-нибудь есть идеи?

ответ

0

Несмотря на то, что два предоставленных ответа являются абсолютно верными, ни одно решение не будет работать в рамках моего ограничения времени или реализации. Я благодарю вас обоих за ответ, но в конечном итоге я пошел, как описано в моем вопросе.

0

Вы могли бы управлять своим огнем событием и слушать его.

0

Я думаю, захват события завершения установки ActiveX - это своеобразное заблуждение.

В основном веб-страницы работают в одном потоке. Нет асинхронной обработки, такой как установка фона.

В течение всей жизни веб-страницы у вас будет уже установлен элемент управления ActiveX или ничего. Если control = new ActiveXObject выбрасывает, вы никогда не сможете создать экземпляр элемента управления ActiveX в это время жизни страницы.

То есть, если элемент управления ActiveX не установлен, вам необходимо обновить страницу, чтобы использовать недавно установленный элемент управления ActiveX. Это обновление выполняется автоматически IE.

Смежные вопросы