2009-02-25 2 views
3

У меня есть элемент управления System.Windows.Form.WebBrowser в форме. Я перемещаю этот объект браузера на URL-адрес.Получение IHTMLStyle3 из Dom HtmlElement в IE

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

В частности, мне интересно увидеть атрибут 'writingMode', который находится на интерфейсе IHTMLStyle3.

Что-то вроде:

public void MyMethod(HtmlElement element) 
    { 
     IHTMLElement2 element2 = element.DomElement as IHTMLElement2; 
     IHTMLStyle3 style3 = element2.currentStyle as IHTMLStyle3; 

     string writingMode = style3.writingMode; 
    ... 

Проблема заключается в том, значение style3 равно нулю. Я предполагаю, что это означает, что IHTMLElement2.currentStyle не поддерживает IHTMLStyle3.

Я попытался также попробовать литье IHTMLELement.style. Но в то время как это делает счастливо, как IHTMLStyle3, он, похоже, не содержит стиль, поскольку он применяется к элементу Html.

ответ

1

Глядя на документацию, я считаю, что вам нужно получить свойство IHTMLElement2.currentStyle, поскольку обычное свойство style является встроенным. Это различие указывается в примечаниях к IHTMLElement2.currentStyle:

Значения, возвращаемые свойствами из IHTMLStyle и интерфейсов IHTMLCurrentStyle отличаются , когда стиль объекта не установлен инлайн. Например, если автор веб-страницы устанавливает цвет свойство параграф относительно красный только через связанный или внедренный таблицы стилей, и не рядный, то IHTMLCurrentStyle :: свойство цвета возвращает значение красного, и свойство IHTMLStyle :: get_color делает не возвращать значение. Однако, если автор указывает значение свойство цвета рядный, как в следующем примере , как IHTMLCurrentStyle :: цвет и свойства IHTMLStyle :: get_color возвращает значение красного цвета.

currentStyle обеспечивает интерфейс IHTMLCurrentStyle, что при запросе на IHTMLCurrentStyle2 даст вам writingMode, как вам требуется.

+0

- глупый я пытаюсь использовать currentStyle как HTMLStyle3 - я должен был отличить его как HTMLCurrentStyle2! –

 Смежные вопросы

  • Нет связанных вопросов^_^