IHTMLElement2.getBoundingClientRect()が正しく動作しません。
-
21-09-2019 - |
質問
getBoundingClientRect()は、すべてのケースのために正確に動作しません。これは、すべてのリンクが同じラインにフィットすることはできませんので、それらの行と半分に並んでいるリンクのリストは、次の行にプッシュされていると言ったときに失敗しました。今、2行目の最初のリンクのためgetBoundingClientRectは、()正しい結果を得られません。
IHTMLRect.bottomとIHTMLRect.rightの値が正しいこと、しかしIHTMLRect.leftとIHTMLRect.topの値は、最初の行の最初の要素に対応する。
2行目の最初のリンクの正確な座標を取得するには?
これはGoogleのページを言うか、言語や場所のリンクの束があるWikipediaのページに起こります。
たとえば、widipedia内のリンクは言う、
Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano •
は以下のような理由レイアウトの二列に存在するであろう。
Deutsch • English • Español • Esperanto •
Français • Bahasa Indonesia • Italiano •
この場合IHTMLElement2.getBoundingClientRect(のために)のフランス語のを除いてすべてのために完璧に動作します。
なぜこれが起こっている、私はわからない、この問題のためにすべてのヘルプや回避策が大幅に高く評価されます。
解決
私はIHTMLElement2.getClientRectsを試してみました。
()。それはラインによって素子列の内コンテンツの長方形を提供します。この問題を解決するためにトリッキー取得しますので。
所属していません StackOverflow