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