У меня есть управление веб-браузером с подключаемым протоколом на основе интерфейса IInternetProtocol. При загрузке HTML-сайтов все в порядке. Но при загрузке внешней таблицы стилей CSS тип MIME «text/css», сообщаемый в BINDSTATUS_MIMETYPEAVAILABLE и BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE игнорируется.MFC: тип MIME «текст/css» не распознан IInternetProtocolSink
- если установить FEATURE_BROWSER_EMULATION в реестре 8888 (IE8), внешний CSS правильно оказанной (в папке «Реестр»)
- если установить FEATURE_BROWSER_EMULATION в реестре 11001 (IE11) или что-нибудь, кроме IE 8, внешний CSS игнорируется (в папке «Реестр»)
- Если HTML-сайт содержит метатег IE = край, внешний CSS игнорируется, поскольку это заставляет элемент управления веб-браузером работать в режиме IE11
- если отключить подключаемый протокол, внешний CSS будет отображаться независимо от значения, установленного для FEATURE_BROWSER_EMULATION
- Если я отключу подключаемый протокол и доставляю таблицу стилей CSS с несоответствием неправильного типа MIME с демонстрационного сервера (в папке «Сервер»), поведение подключаемого протокола может быть воспроизведено как в IE, так и в элементе управления веб-браузером
- отчетности заголовки к интерфейсу IHttpNegotiate не имеет никакого эффекта
- любые другие элементы управления набором функций, с CoInternetSetFeatureEnabled не имеют никакого эффекта
Мои выводы до сих пор:
- IE8 и управления веб-браузера в режиме IE8 полностью игнорирует типы MIME и находит его с помощью MIME нюхает
- IE9, а потом потерпеть неудачу, если неправильный тип MIME поставляется
- веб-браузера в управлении режиме IE9 + игнорирует тип MIME "текст/CSS", как и любые другие типы MIME, установленные для CSS стилей
Мои вопросы:
- ли кто-нибудь столкнуться с подобной проблемой с подключаемыми протоколами? Если да, как вы это решили?
- Как правильно загружать и отправлять таблицы стилей CSS на IInternetProtocolSink?
Здесь Вы можете скачать образец проект, который демонстрирует поведение:
https://github.com/elsamuko/SimpleBrowser
Здесь представлены скриншоты различных поведений:
http://imgur.com/a/w3oCv
Ссылка:
http://msdn.microsoft.com/en-us/library/aa752046%28v=vs.85%29.aspx
http://www.codeproject.com/Articles/157329/Http-Monitor-for-Webbrowser-Control
http://www.codeproject.com/Articles/12865/An-Asynchronous-Pluggable-Protocol-Handler-for-dat
Попробуйте это и посмотрите, поможет ли это: http://stackoverflow.com/a/21654398/1768303 – Noseratio
См. Последний пункт: «любые другие элементы управления, установленные с CoInternetSetFeatureEnabled, не имеют эффекта» – elsamuko