Я пытаюсь внедрить некоторый CSS, который сопровождает другой HTML, в управляемый C # элемент управления WebBrowser. Я пытаюсь сделать это через базовый элемент управления MSHTML (свойство DomDocument), так как этот код служит своего рода прототипом для полного IE8 IE8.
Проблема в том, что, хотя я могу вставлять 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>
, и это привело к аналогичным результатам.
Заранее спасибо за помощь!
1021 * Том *