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之外的所有内容。
我不确定为什么会发生这种情况,非常感谢任何针对此问题的帮助或解决方法。