环境:
VS2005 C# WinForm (特别注明:不是ASPnet)
原先用这个方法(在DocumentCompleted事件函数里):
webBrowser1DocumentBodyScrollRectangleHeight
绝大多数情况下,这个方法能够正确返回网页高度。但个别情况下却不行,获取到高度明显小于实际网页高度。
这种网页有个特点,就是它包含加载的组件。我认为DocumentBodyScrollRectangleHeight在这里发生错误是因为没有计算上网页组件所加载的高度。开始我以为是加载较慢所致,于是又额外设了几秒延迟获取DocumentBodyScrollRectangleHeight,结果还是不行。
有点麻烦了,哪位大虾有解决办法?
有了些进展:
使用这个:thisextendWebBrowser1DocumentBodyOffsetRectangleBottom
针对我开头所提到特殊页面。它虽然比实际网页高度相同还是小一些,但基本上不影响浏览了。
下面是我从网上找到的资料(应该是人工翻译的):
我一直从 WebBrowser 控件的文档属性获取 web 页的高度的最后几天。
这是我最新的尝试。
HtmlElementCollection children = webBrowserDocumentAll; int maxOffset = 0; foreach (HtmlElement child in children) { int bottom = 0; bottom = childOffsetRectangleBottom; if (bottom > maxOffset) { maxOffset = bottom; pageHeight = maxOffset; } } 我试了通过在页中找到最低的元素的偏移的底部出页面的最大高度。
问题是页的这在大多数情况下试管苗 500px 有关的实际长度。
任何人如有任何意见吗?我不敢相信只是为了获得一个页面的高度是多么困难 !
问题: Unknown
来自这个问题: stackoverflowcom
答案
找到 BODY 标签,并获得 OffsetRectangleBottom 的该元素。 这会给你页面的高度。
网页可见区域宽:documentbodyclientWidth;
网页可见区域高:documentbodyclientHeight;
网页可见区域高:documentbodyoffsetWidth
(包括边线的宽);
网页可见区域高:documentbodyoffsetHeight
(包括边线的宽);
网页正文全文宽:documentbodyscrollWidth;
网页正文全文高:documentbodyscrollHeight;
网页被卷去的高:documentbodyscrollTop;
网页被卷去的左:documentbodyscrollLeft;
网页正文部分上:windowscreenTop;
网页正文部分左:windowscreenLeft;
屏幕分辨率的高:windowscreenheight;
屏幕分辨率的宽:windowscreenwidth;
屏幕可用工作区高度:windowscreenavailHeight;
屏幕可用工作区宽度:windowscreenavailWidth;
1、首先在html页面上,看到有一个按钮,要获得这个按钮离顶部的距离。
2、在按钮的事件函数里,先取这个按钮的offset数据,通过jquery的offset方法。
3、得到的结果是一个数组对象,只要获取里面的top数据就行了。
4、使用log方法,把数据输出到浏览器的控制台。
5、运行页面,看到现在的按钮位置。距离顶部估计是500px左右吧,点击一下这个按钮。
6、然后看一下控制台上的数据,得到距离为439的像素。
您好,我来为您解答: windowdocumentbodyclientHeight就可以 windowscreenavailWidth 返回当前屏幕宽度(空白空间) windowscreenavailHeight 返回当前屏幕高度(空白空间) windowscreenwidth 返回当前屏幕宽度(分辨率值) windowscreenheight 返回当前屏幕高度(分辨率值) windowdocumentbodyoffsetHeight; 返回当前网页高度 windowdocumentbodyoffsetWidth; 返回当前网页宽度 转载,仅供参考。 如果我的回答没能帮助您,请继续追问。
<body><SCRIPT LANGUAGE="JavaScript">
var s = "";
s += "\r\n网页可见区域宽:"+ documentbodyclientWidth;
s += "\r\n网页可见区域高:"+ documentbodyclientHeight;
s += "\r\n网页可见区域宽:"+ documentbodyoffsetWidth +" (包括边线和滚动条的宽)";
s += "\r\n网页可见区域高:"+ documentbodyoffsetHeight +" (包括边线的宽)";
s += "\r\n网页正文全文宽:"+ documentbodyscrollWidth;
s += "\r\n网页正文全文高:"+ documentbodyscrollHeight;
s += "\r\n网页被卷去的高:"+ documentbodyscrollTop;
s += "\r\n网页被卷去的左:"+ documentbodyscrollLeft;
s += "\r\n网页正文部分上:"+ windowscreenTop;
s += "\r\n网页正文部分左:"+ windowscreenLeft;
s += "\r\n屏幕分辨率的高:"+ windowscreenheight;
s += "\r\n屏幕分辨率的宽:"+ windowscreenwidth;
s += "\r\n屏幕可用工作区高度:"+ windowscreenavailHeight;
s += "\r\n屏幕可用工作区宽度:"+ windowscreenavailWidth;
s += "\r\n你的屏幕设置是 "+ windowscreencolorDepth +" 位彩色";
s += "\r\n你的屏幕设置 "+ windowscreendeviceXDPI +" 像素/英寸";
alert(s);
</SCRIPT>
拿去 看看有没有你要的
以上就是关于WebBrowser怎么获取网页高度全部的内容,包括:WebBrowser怎么获取网页高度、在html中,怎么获取当前页面body的高度,body是没有设置高度的,但是里面有内容、如何获取元素距离页面顶部的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)