如何在有或没有javaScript的情况下获取android中每个页面的内容高度?

时间:2012-08-13 09:06:47

标签: javascript android html webview webclient

我希望逐个获取每个网页的内容高度。但我没有得到那个。如果我单独加载页面,那么我可以获得每页的高度。但如果我试图连续获得网页的内容高度,那么我就失败了。

这是我的代码 -

StringBuffer content;
     String temp;

         for(i=tempstart_index;i<=tempend_index;i++)
                {
                Log.i("value of i",i+1+"");

                content+=decrypted(i);
                temp1=decrypted(i);
                // TODO Auto-generated method stub
                webview.setWebViewClient(new WebClient());
                {

                    @Override
                    public void onPageFinished(WebView view, String url)
                    {
                        webview.loadUrl("javascript:window.HTMLOUT.getContentHeight(document.getElementsByTagName('html')[0].scrollHeight);");
                        int initialpageheight=webview.getContentHeight();

                        if(initialpageheight>0)
                        {
                            webheight=initialpageheight;

                            //Toast.makeText(getApplicationContext(), ""+initialpageheight, Toast.LENGTH_LONG).show();
                            Log.i("page finish","" +webheight);

                            initialpage=webheight;
                            if(pagenumber>0)
                            {
                            webview.scrollTo(0, webheight);
                            }
                                         }
         }});
         webview.loadDataWithBaseURL("file:///android_asset/KH_Brown_Fixed_Layout/",temp1,
     "text/html", "utf-8",null);
                }
         return content;
         }

然后我在合并字符串后将所有合并页面显示为一页 -

//这里reflowable()读取html并合并它们并在合并后返回它。

 String ds=reflowable();
                webview.loadDataWithBaseURL("file:///android_asset/KH_Brown_Fixed_Layout/", ds, "text/html", "utf-8", null);    

1 个答案:

答案 0 :(得分:3)

在JavaScript中,您可以使用以下命令获取Webkit浏览器页面的高度:

window.innerHeight

至于你在那里尝试了什么,我没有任何线索,但这会在你的Android浏览器中为你提供高度。