getBoundingClientRect()在所有情况下都无法正常工作。如果链接列表连续排列并且其中一半被推送到下一行,则会失败,因为所有链接都不能放入同一行。现在,对于第二行的第一个链接,getBoundingClientRect()没有给出正确的结果。
IHTMLRect.bottom和IHTMLRect.right的值是正确的,但IHTMLRect.left和IHTMLRect.top的值对应于第一行中的第一个元素。
如何获取第二行第一个链接的确切坐标?
这种情况发生在谷歌页面或维基百科页面上,其中有大量语言或位置链接。
例如,widipedia中的链接说,
Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano •
由于布局,会出现在下面两行中。
Deutsch • English • Español • Esperanto •
Français • Bahasa Indonesia • Italiano •
对于这种情况,IHTMLElement2.getBoundingClientRect()适用于除Français之外的所有内容。
我不确定为什么会发生这种情况,非常感谢您对此问题的任何帮助或解决方法。
答案 0 :(得分:0)
当我尝试IHTMLElement2.getClientRects()时。它逐行提供元素内部内容的矩形。因此解决问题变得棘手。