ブラウザの特殊な操作 各ブラウザ共通

表示領域のサイズ取得やスクロール量を取得する

IE/WebBrowserに表示している領域の以下の情報を取得します。
・表示領域の高さ・幅
・スクロール量
・サイト全体の高さ・幅

表示しているサイトのレンダリングモードによって、取得する対象が異なります。

						Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

							Dim element As mshtml.IHTMLElement2

							'レンダリングモードの判定
							If objIE.Document.compatMode = "CSS1Compat" Then
								element = DirectCast(objIE.Document.documentElement, mshtml.IHTMLElement2)
							Else
								element = DirectCast(objIE.Document.body, mshtml.IHTMLElement2)
							End If

							Debug.WriteLine(element.clientHeight)	'表示領域の高さ
							Debug.WriteLine(element.clientWidth)	'表示領域の幅
							Debug.WriteLine(element.scrollTop)		'スクロール量・縦
							Debug.WriteLine(element.scrollLeft)		'スクロール量・横
							Debug.WriteLine(element.scrollHeight)	'サイト全体の高さ
							Debug.WriteLine(element.scrollWidth)	'サイト全体の幅

						End Sub
					

					
						Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

							Dim doc As mshtml.HTMLDocument = DirectCast(WebBrowser1.Document.DomDocument, mshtml.HTMLDocument)
							Dim element As mshtml.IHTMLElement2

							'レンダリングモードの判定
							If doc.compatMode = "CSS1Compat" Then
								element = DirectCast(doc.documentElement, mshtml.IHTMLElement2)
							Else
								element = DirectCast(WebBrowser1.Document.Body.DomElement, mshtml.IHTMLElement2)
							End If

							Debug.WriteLine(element.clientHeight)	'表示領域の高さ
							Debug.WriteLine(element.clientWidth)	'表示領域の幅
							Debug.WriteLine(element.scrollTop)		'スクロール量・縦
							Debug.WriteLine(element.scrollLeft)		'スクロール量・横
							Debug.WriteLine(element.scrollHeight)	'サイト全体の高さ
							Debug.WriteLine(element.scrollWidth)	'サイト全体の幅

						End Sub
					

					

参考

JavaScript特有の問題・クロスブラウザなど
document.compatMode
WebBrowserでスクロールを検知する方法