Захват законченного события установки для ActiveX - PullRequest
2 голосов
/ 21 января 2011

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

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

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

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

Ответы [ 3 ]

0 голосов
/ 22 января 2011

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

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

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

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

0 голосов
/ 28 января 2011

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

0 голосов
/ 22 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...