Как получить свойство scrollHeight документа в IE с помощью C # - PullRequest
1 голос
/ 24 августа 2011

Я использую mshtml COM-компонент в C # для получения информации об элементах DOM в текущем Internet Explorer. мой код выглядит так:

HTMLDocument document =....;
var offsetHeight = document.body.offsetHeight;// works fine
var scrollHeight = document.body.scrollHeight;//compiler error

Тип HTMLDocument происходит от COM-компонента Microsoft.mshtml.dll. почему свойство scrollHeight элемента DOM, доступ к которому можно получить с помощью javascript, недоступно в C #? Как я могу получить статус полосы прокрутки запущенного процесса IE другим приложением .Net?

1 Ответ

0 голосов
/ 15 ноября 2013

Для дальнейшего использования, если кто-то делает то же самое. Считается, что offsetHeight лучше в некоторых случаях, так как он учитывает границы, но если вы скажете, хотите прокрутить всю страницу IE, вы бы хотели использовать высоту прокрутки, как сказано здесь.

Чтобы получить высоту прокрутки, необходимо привести элемент body к интерфейсу IHTMLTextContainer, который получил это свойство:

int pageHeight = ((IHTMLTextContainer)document.body).scrollHeight;

Надеюсь, это кому-нибудь поможет.

...