Как определить, что надстройка была отключена пользователем в IE9? - PullRequest
2 голосов
/ 25 марта 2011

Пользователи IE9 могут отключить надстройку, такую ​​как объект помощника браузера, нажав кнопку Cog и выбрав «Управление надстройками».Мне нужно определить, не была ли данная надстройка отключена таким образом, используя JavaScript.

Мне не удается найти способ, чтобы мой обработчик ошибок (<object ... onerror="myhandler(event)") обнаружил, что BHO имеетбыл отключен.errorEvent.type это просто "error".Есть ли способ?

Мне нужно обнаружить этот сценарий, потому что попытка установить BHO на веб-странице снова не дает результата.IE9 просто игнорирует запрос.Пользователю также не показывается никаких предупреждений, поэтому ни он, ни веб-страница не знают, что происходит.


Некоторая информация:

Internet Explorer 9 идентифицирует вспомогательные объекты браузера, для которых потребовалось много времени.время, чтобы начать и сообщает о них пользователю, с большой кнопкой, чтобы отключить их.Это означает, что многие пользователи будут отключать BHO, в которых они действительно нуждаются, хотя бы благодаря самому импульсу, нажимающему на большие кнопки.

Это также означает, что у моей компании есть некоторые проблемы, поскольку мы создаем BHO, которыйиспользуется значительным количеством клиентов и иногда (но не всегда) определяется как слишком медленный.Мы прилагаем все усилия, чтобы сделать его быстрее.Но в то же время нам нужен какой-то способ обнаружить, что пользователь отключил наш BHO, и попросить его включить его снова.

Ответы [ 2 ]

3 голосов
/ 27 марта 2011

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

Как правило, для страницы нет возможности узнать, установлен ли BHO, даже если он включен, если BHO явно не предоставляет свойство, доступное для DOM.

Вы можете определить, ActiveX надстройки отключаются фильтрацией ActiveX с использованием window.external.msActiveXFilteringEnabled () API.

0 голосов
/ 04 ноября 2011

Эрик, Что вы думаете об этом трюке?

  • Дополнение внедряет скрипт в каждую страницу, которую посещает пользователь.
  • Раз в секунду или около того сценарий отправляет надстройке сообщение «запрос сердцебиения».Надстройка должна отправлять «подтвержденный» ответ.
  • Если надстройка не отвечает, сценарий предполагает, что надстройка отключена или удалена, и уведомляет сервер.

(Идея заимствована у http://keep12on.com/2011/05/26/detecting-extension-uninstallations-on-chrome/)

Спасибо

...