3

各Webページのコンテンツの高さを1つずつ取得したい。しかし、私はそれを得ていません。ページを個別にロードしている場合、各ページの高さを取得できます。しかし、ウェブページのコンテンツの高さを継続的に取得しようとすると、失敗しました。

これが私のコードです-

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;
         }

次に、文字列をマージした後、マージされたすべてのページを1ページとして表示しています-

// ここで reflowable() は html を読み取り、それらをマージし、マージ後にそれを返します。

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

1 に答える 1

3

JavaScript では、Webkit ブラウザーで次のようにページの高さを取得できます。

window.innerHeight

他に何をしようとしているのかはわかりませんが、Android ブラウザーでの高さがわかります。

于 2012-08-22T11:40:37.293 に答える