WebBrowser怎么获取网页高度

WebBrowser怎么获取网页高度,第1张

如何用获取网页高度?这是一个贴子

环境:

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是没有设置高度的,但是里面有内容、如何获取元素距离页面顶部的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9578562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存