2

webviewモバイル向けに最適化されたリモート Web ページ (m.mysite.com など) を読み込むために を使用しています。このサイトは jquery を使用して、次の 10 件の記事を読み込みます。つまり、デフォルトでは 10 件の記事しか表示されず、下部に「さらに読み込む」ボタンがあります。ユーザーがそれを押すと、次の 10 件の記事が読み込まれます。

これで、次の 10 件の記事を読み込み、15 番目または 16 番目の記事 (単なる例) を読みたい場合、webview は記事自体を読み込みます。しかし、モバイルの [戻る] ボタンで戻ると、webview15 番目または 16 番目の記事が読み込まれず、ページがリロードされ、記事 1 が表示されます (たとえば、最初の 10 記事のみでデフォルト URL が読み込まれます)。

これを PC の Web ブラウザで試してみましたが、そのようなブラウザでは問題なく動作します。

ページをキャッシュwebviewから強制的にロードし、リロードしないようにするにはどうすればよいですか?

戻るボタンには通常のコードを使用します。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // Check if the key event was the BACK key and if there's history
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
        webView.goBack();
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

//gives the same problems
//    @Override
//    public void onBackPressed() {
//        super.onBackPressed();
//        webView.goBack();
//    }
4

1 に答える 1

1

ここであなたの質問を見つけましたが、答えがないことがわかりました。

私は現在同じものを探しています。調査中にこれを見つけたので、試してみます: http://alex.tapmania.org/2010/11/html5-cache-android-webview.html

これにより、WebView のキャッシュが有効になります。上記のリンクにあるものをコピーして貼り付けるだけです。

[戻る] ボタンにキャッシュのみが必要な場合は、おそらくキャッシュを無効のままにして、[戻る] ボタンが押されたときに有効にしますか?

これがお役に立てば幸いです。

于 2013-07-16T00:04:30.000 に答える