MFC CHTMLVIEW - подавить предупреждения с смешанными контентом?

StackOverflow https://stackoverflow.com//questions/21053939

  •  22-12-2019
  •  | 
  •  

Вопрос

Это MFC и chtmlview, но он, вероятно, относится к всем использованию веб-контроля IE.

Когда веб-контроль навигация на странице на некоторых сайтах, мы получаем всплывающее окно HTTP / HTTPS.

Есть ли какой-нибудь флаг, команда или определенный ключ реестра, который может быть установлен во время работы нашей программы, которая отключит предупреждение?Даже лучше, мы можем выбрать ответ «Да» или «Нет»?

Мы не контролируем веб-сайт, так что «исправить веб-страницу» не является опцией.Наша программа работает на ПК клиента, так что «входить в настройки IE» также не является хорошим решением.

Это было полезно?

Решение

Реализуйте индивидуальный менеджер безопасности < / a> На классе объекта управления, используемым классом ChtmlView, полученный класс для обработки URLACTION_HTML_MIXED_CONTENT с кодом успеха. Сайт управления является реализация MFC клиентского сайта ActiveX, От которого контроль WebBrowser используется в ChtmlView queries Host .

Если вы используете MFC 7.0 или выше, вам нужно заменить сайт управления через переопределенную функцию CreateControlsite . В MFC 6.0 вы можете заменить управление контейнерами во всем мире, только через Вызов AfxenableControlContainer со своим собственным Coccmanager, который переопределяет Метод Createsite.

После замены сайта управления добавьте ISERVICEPROVIDER и интерфейсы менеджера безопасности (IinternernetsecurityManager, необязательно IInternetseCurityManageRex2) через MANT_INTERFATE_PART / END_INTERFACE_PART на классе сайта управления. Если вы не знакомы с MFC Macros, check TN038: внедрение MFC / OLE IUKSNOWN . Ваша реализация должна вернуть INET_E_DEFAULT_ACTIC, если, когда метод является процессором ProcessUrlactionactaction / ProcessURLACTACTICEX / PROCEURLACTIEX2 и код URLACTION_HTML_MIXED_CONTENT, то вам нужно вернуть S_OK. Заполните адрес ppolicy с URLPolicy_ally, чтобы молча разрешить смешанное содержание или URLPolicy_disallow, чтобы запретить. Используйте URLPolicy_Query, чтобы попросить пользователя при необходимости.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top