0

getBoundingClientRect() 并不适用于所有情况。当说一排并排的链接列表并且其中一半被推送到下一行时,它会失败,因为所有链接不能放在同一行中。现在对于第二行的第一个链接,getBoundingClientRect() 没有给出正确的结果。

IHTMLRect.bottom 和 IHTMLRect.right 的值是正确的,但是 IHTMLRect.left 和 IHTMLRect.top 的值对应于第一行中的第一个元素。

如何获得第二行中第一个链接的确切坐标?

这发生在说谷歌页面或维基百科页面上,那里有一堆语言或位置链接。

例如,维基百科中的链接说,

Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano • 

由于布局,将出现在如下两行中。

Deutsch • English • Español • Esperanto • 
Français • Bahasa Indonesia • Italiano • 

对于这种情况, IHTMLElement2.getBoundingClientRect() 可以完美地适用于除Français之外的所有内容。

我不确定为什么会发生这种情况,非常感谢任何针对此问题的帮助或解决方法。

4

1 回答 1

0

当我尝试 IHTMLElement2.getClientRects() 时。它为元素的内部内容逐行提供矩形。所以这很难解决问题。

于 2009-10-16T07:05:40.560 回答