Android WebView:JavaScript返回的元素高度不一致

时间:2013-06-07 06:13:09

标签: javascript android dom android-webview

我有以下HTML文档:

<html>
    <head>
    </head>
    <body>
        <div>
            <p>blah blah blah</p>
        </div>
    </body>
</html>

我需要确定<div></div>的高度来相应地调整我的WebView高度,我按照以下方式执行:

document.getElementsByTagName('div')[0].scrollHeight

有时返回的值是正确的,有时它比实际值小一点。我在WebViewClient.onPageFinished()方法中调用了这段JavaScript,因此页面应该在此时呈现。

我还尝试了.clientHeight.offsetHeight,甚至.getBoundingClientRect().height

有没有办法获得正确和一致的价值?

1 个答案:

答案 0 :(得分:1)

要获取任何元素的样式属性的确切值,可以使用此

// get the reference to the element
var myDiv = document.getElementsByTagName('div')[0];

// get the desired height attribute
var computedHeight = document.defaultView.getComputedStyle( myDiv, null ).getPropertyValue( 'height' );

希望有所帮助。