2011-08-24 68 views
1

我在C#中使用mshtml COM組件來獲取當前Internet Explorer中的DOM元素信息。 我的代碼看起來是這樣的:如何在IE中使用C獲得文檔的scrollHeight屬性#

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

類型HTMLDocument的來自Microsoft.mshtml.dll COM組件。 爲什麼可以通過javascript訪問的DOM元素的scrollHeight屬性不能被C#訪問?如何獲得另一個.Net應用程序正在運行的IE進程的滾動條狀態?

回答

0

如果有人正在做同樣的事情,以備將來參考。 在某些情況下,offsetHeight被認爲是更好的,因爲它佔邊界,但如果你說,想滾動整個IE頁面,你會想要使用這裏所說的滾動高度。

若要檢索您需要body元素投射到IHTMLTextContainer接口已經得到了這個屬性的滾動高度:

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

希望這可以幫助別人。