2011-08-24 65 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; 

希望这可以帮助别人。