2011-05-11 12 views
4

をレンダリングする必要があります。 IEでレンダリングしたときのWebページの高さ。ブラウザコントロールを使用せずにWebページの高さを検出する方法

現在、WebBrowserコントロールを使用してHTMLページを読み込んだ後、ドキュメントのclientHeight(またはscrollHeight、忘れてしまったもの)を探しています。これはうまくいく。

問題は、API呼び出しの結果としてWebサービスから実行し、WebBrowserコントロールで読み込むWindows Formベースのコントロールを起動するにはこのコードが必要であり、醜いです(私が仮定すると)信じられないほどリソースが飢えています。

私はレンダリングされたHTMLの可能性の高い高さを知ることができるヘッドレスブラウザ実装がありますか?私はこれがiframe、divなどのスクロールなどではうまくいかないことを知っていますし、超精密である必要はありません(200ピクセル以内であれば問題ありません)。

私たちがテストするHTMLページは、高さが約700pxから何千もの高さまでの範囲であるため、粗い高さを知ることは完璧です。これらのページは実際にはHTML電子メールであり、電子メールから抽出されてWebブラウザに送信されるため、使用されるHTMLはかなり単純な傾向があります。

答えて

1

これは実際にブラウザとそのレンダリングエンジンによって異なります。おそらく、レンダラーを使用する必要があります。

HTMLが標準の場合は、HTMLayoutのメモリ内レンダリング機能を使用できるはずです。結果は他のブラウザと似ています。

.NETラッパーがhttp://code.google.com/p/nabu-library/にあります。

+0

これは完璧です、ありがとう!私はHtmlTag.ScrollInfo.Sizeに行くことができる(ルートプロパティを介して)HtmlWindowlessクラスがあります - 私はそれがページの高さを取得するのに十分であることを望んでいる。 –

関連する問題