В настоящее время у меня есть элемент управления ActiveX, развернутый на моих пользователях следующим образом:
<OBJECT
ID="ActiveXControl" WIDTH=350 HEIGHT=50
CODEBASE="http://www.mysite.com/activexcontrol.cab"
CLASSID="CLSID:12345678-1234-1234-1234-111111222222">
</OBJECT>
Развертывание таким образом позволяет выполнять самостоятельную регистрацию.Пользователь обычно получает желтую полосу (или белое всплывающее окно внизу, в случае IE9), запрашивающее разрешение на установку.Если пользователь предоставляет разрешение, IE обновляет страницу, а затем, по-видимому, фактически загружает элемент управления из расположения CODEBASE.После завершения загрузки CAB пользователю обычно отображается приглашение UAC.
Проблема, с которой я сталкиваюсь, заключается в том, что мой элемент управления составляет 500 КБ, и для некоторых пользователей загрузка выполняется медленно.Они авторизуют мой элемент управления (через желтую панель IE), но затем их браузер сидит там, пока он загружает элемент управления, и они думают, что ничего не происходит, поэтому они обновляют страницу (плохо) или уходят (хуже).Мне нужен какой-то индикатор прогресса или какое-то сообщение «Пожалуйста, подождите», которое исчезает ПОСЛЕ завершения загрузки элемента управления.
Подводя итог, можно выделить 3 этапа:
Страница развертывания ActiveX (пользователь не авторизован)
Страница развертывания ActiveX (пользователь авторизовал, и IE обновил страницу)
Control полностью загружен и работает
(помните, что на этапах 1 и 2 будет один и тот же код сервера, тот же HTTP GET, и мой сервер не узнает разницы.)
Проблема для меня в том, что пользовательский интерфейс одинаков для всех трех этапов.Как я могу сообщить пользователю, что происходит?Я попробовал подход, при котором я помещаю сообщение «Пожалуйста, подождите» на странице, но у этого есть два недостатка
- , для этапа 1 это не имеет смысла. Пользователю не нужно ждать,Они должны авторизовать элемент управления.
- Я не могу заставить сообщение «Пожалуйста, подождите» исчезнуть, как только я достигну этапа 3. Я попытался установить атрибут onload для тега OBJECT, чтобы использовать JS для удаления сообщения.но IE, похоже, не подчиняется.
Есть предложения?