2012-01-12 11 views
4

私はHTML、CSS、およびJavaScriptをロードするUIWebViewを持っています。JavaScriptファイルをキャッシュするUIWebViewを禁止しますか?

これまでHTMLやCSSの変更を行った場合、それが適用された時点でWebViewが再開されます。しかし、私のJavaScriptはキャッシュされているようだが、WebViewを再オープンしたときに変更が反映されない。

私はここで何が欠けていますか?

答えて

4

この答えは私を助け: Prevent caching of .css files in UIWebView loaded from disk

基本的に、あなただけの?version=1または?time=12345678のようなリンクにパラメータとしてインクリメンタを追加する必要があります。たとえば、次のように私が使用している動的にロードされたJavaScriptが<script src="myscript.js?version=123></script>

script.src = "myscript.js?version="+new Date().getTime(); 

、スクリプトは、ファイルがのUIWebViewにキャッシュされたバージョンパラメータを指定せず、適切に更新されます。

+0

素晴らしいですが、私はJSが本当にキャッシュされていないことを確認する必要があった。私は '' ' – Alexandre

1

私はUIWebViewキャッシングも疑っていました。最初は。しかし、実際の問題は、.jsファイルをコンパイル可能なソースとして扱うXcodeであった.Xcodeはそれらを「ソースのコンパイル」フェーズ(プロジェクトターゲット→ビルドフェーズタブ)に入れたのに対し、「バンドルリソースのコピー」フェーズで行うべきだった。どのようなコンパイラでも.jsファイルについて考えると、変更が検出されず、変更されたときに置き換えられません。 私の.jsファイルをコンパイル・フェーズからコピー・リソース・フェーズに移動すると、問題はうまく解決されました。

関連する問題