Javascript getBoundingClientRect返回不正确的结果

Javascript getBoundingClientRect返回不正确的结果,javascript,html,webkit,android-webview,Javascript,Html,Webkit,Android Webview,我使用getBoundingClientRect()确定页面上元素的绝对左偏移量 该页被拆分为列: -webkit-column-gap: 0px; -webkit-column-width: 720px; JS函数是: function findAnchorOffset(anchorId) { anchor = document.getElementById("res" + anchorId); if (anchor != null) { var rect =

我使用getBoundingClientRect()确定页面上元素的绝对左偏移量

该页被拆分为列:

-webkit-column-gap: 0px;
-webkit-column-width: 720px;
JS函数是:

function findAnchorOffset(anchorId) {
    anchor = document.getElementById("res" + anchorId);
    if (anchor != null) {
        var rect = anchor.getBoundingClientRect();
        console.log("Rect: " + rect.left);
    } else {
        console.log("Anchor offset not found!");
    }
}
该函数可以工作,但rect.left大约比它应该的小两倍。 例如,它返回5902.9146,但实际上左偏移量约为11000。为什么?

UPD。如果我像这样更改JS函数,它将返回正确的偏移量:

function findAnchorOffset(anchorId) {
    anchor = document.getElementById("res" + anchorId);
    if (anchor != null) {
        var rect = anchor.getBoundingClientRect();
        console.log("Rect: " + rect.left * 2);
    } else {
        console.log("Anchor offset not found!");
    }
}

有什么方法可以测试吗?@RayonDabre我认为这是一个相当困难的问题,因为它是ePub reader的一部分,在Android WebView中实现,并在HTML中进行了一些更改,但是我会尝试复制粘贴Chrome远程调试产生的HTML。它是否会滚动,或者是因为这会影响结果,除此之外,我需要查看HTML css呈现的视觉表示和/或代码分解