AndroidのWebViewでローカルのHTMLファイルを読み込んで
アンカーに移動してたりしたら変な挙動したのでメモ。
loadURLでassets内のHTMLファイルを読み込んだ後に
JavaScriptでlocation.hashを実行してアンカーに移動してました。
4.0系では問題なかったんですが、2.3系で2度目以降の読み込みで
正常に移動しない場合が結構ありました。
2度目というのは画面をリリースした後なのでなんでじゃろ?と。
で、根本の原因はキャッシュでしたと。
WebViewコントロール単体でキャッシュ持ってるのではなく
裏のWebKitがキャッシュとかを管理してるらしくこれが悪影響になってたと。
なので、loadURLする前にキャッシュ消して対応しました。
が、
webview.getSettings().setCacheMode
でキャッシュ利用しないっていう風にしても良かったな。
と書いてて思いました。
以上です。
0 件のコメント:
コメントを投稿