2011-05-11 4 views
4

을 렌더링해야합니다. IE에서 렌더링 할 때 웹 페이지의 높이.브라우저 컨트롤을 사용하지 않고 웹 페이지의 높이를 감지하는 방법

현재 WebBrowser 컨트롤을 사용하여 HTML 페이지를로드 한 다음 문서의 clientHeight (또는 scrollHeight, 나는 잊어 버렸습니다.)를 찾으려고합니다. 이것은 잘 작동합니다.

문제는 API 호출의 결과로 웹 서비스에서 실행하고 WebBrowser 컨트롤에서로드 할 Windows Form 기반 컨트롤을 실행하려면이 코드가 필요하다는 것입니다.이 코드는 배가 고프고 추악합니다.

그래서 렌더링 된 HTML의 높이를 알아낼 수있는 헤드리스 브라우저 구현이 있습니까? iframe, div 등의 스크롤 기능을 사용할 수 없다는 것을 알고 있으며, 200px 이내이면 괜찮을 것입니다.

테스트 할 HTML 페이지의 높이는 약 700px에서 수천 픽셀까지 높기 때문에 거친 높이를 알아내는 것이 완벽 할 것입니다. 사용 된 HTML은 전자 메일에서 추출되어 웹 브라우저로 전송되는 실제로 HTML 전자 메일이기 때문에 매우 단순한 경향이 있습니다.

답변

1

이것은 실제로 브라우저와 렌더링 엔진에 따라 다릅니다. 아마도 렌더러를 사용해야 할 것입니다.

HTML이 표준 인 경우 HTMLayout의 메모리 내 렌더링 기능을 사용할 수 있어야하며 결과는 다른 브라우저와 유사해야합니다.

.NET 랩퍼가 http://code.google.com/p/nabu-library/에 있습니다.

+0

이것은 완벽하게 고맙습니다! 루트 속성을 통해 HtmlTag.ScrollInfo.Size에 연결할 수있는 HtmlWindowless 클래스가 있습니다. 페이지 높이를 얻는 데 충분할 것으로 기대됩니다. –

관련 문제