Я пытаюсь ввести некоторый CSS, который сопровождает какой-либо другой HTML-код в управляемый веб-браузером C#. Я пытаюсь сделать это через основной элемент управления MSHTML (DomDocument), поскольку этот код служит прототипом сортировки для полного IE8 BHO.C#: Лучший способ вставить CSS в экземпляр MSHTML?
Проблема заключается в том, что я могу вставлять HTML (через mydomdocument.body.insertAdjacentHTML) и Javascript (через mydomdocument.parentWindow.execScript), он полностью исключает мой CSS-код.
Если сравнивать строку, содержащую HTML я хочу вставить с источником страницы назначения после инъекции, источник Mshtml будет буквально содержать все кроме для <style>
элемента и его основного источника.
CSS проходит проверку W3C для CSS 2.1. Это не слишком сложно, за исключением того, что некоторые свойства фонового изображения имеют изображение, непосредственно встроенное в CSS (например, background-image: url("data:image/png;base64
...), и комментирование этих строк не изменяет результат.
Более странно (и я не уверен, что это актуально), было то, что у меня не было никаких проблем с прошлой неделей. Я вернулся к ней на этой неделе, и после переключения кода, который обрабатывает HTML-код перед инъекцией, он больше не работает. Естественно, я думал, что одно из моих изменений может как-то быть проблемой, но после комментирования всей этой логики и подачи ее прямой строки HTML по-прежнему выглядит неформатированным.
На данный момент я впрыскиваю в тег <body>
, хотя я попытался ввести в <head>
, и это встречается с аналогичными результатами.
Заранее благодарим за вашу помощь!
Том
Удивительный человек решения! +++ –