Как определить высоту веб-страницы без использования элемента управления браузера - PullRequest
4 голосов
/ 11 мая 2011

Мне нужно получить визуализированную высоту веб-страницы при визуализации в IE.

В настоящее время я использую элемент управления WebBrowser для загрузки страницы HTML, а затем нахожу документ clientHeight (или scrollHeight, я забыл, какой). Это хорошо работает.

Проблема в том, что мне нужен этот код для запуска из веб-службы в результате вызова API, и запуск элемента управления на основе Windows Form для загрузки в элемент управления WebBrowser является уродливым и (я полагаю) невероятно жадным до ресурсов.

Итак, есть ли реализация браузера без головы, которая позволила бы мне определить вероятную высоту визуализированного HTML? Я знаю, что это не сработает для iframes, div, которые прокручивают и т. Д., И это не обязательно должно быть очень точным (в пределах 200px было бы хорошо).

Размер HTML-страниц, которые мы тестируем, варьируется от около 700 пикселей в высоту до многих тысяч пикселей в высоту, поэтому вычисление приблизительной высоты будет идеальным. Используемый HTML имеет тенденцию быть довольно простым, поскольку эти страницы на самом деле являются электронными письмами HTML, извлеченными из электронного письма и отправленными в веб-браузер.

1 Ответ

1 голос
/ 11 мая 2011

Это действительно зависит от браузера и его движка рендеринга. Вам, вероятно, придется использовать средство визуализации.

Если ваш HTML-код является стандартным, вы сможете использовать возможность рендеринга в памяти HTMLayout, и результаты будут аналогичны другим браузерам.

Имеется оболочка .NET на http://code.google.com/p/nabu-library/

...