私はアプリケーションバンドルにいくつかの埋め込みhtmlを持っています。私はそれを読み込むためにloadHtmlStringを使用しています。同時に、私のドキュメントフォルダ内にいくつかのイメージファイルがあります。私は自分のドキュメントフォルダ内のimgとhtmlを置き換えたいと思います。例えば、ここで私が持っているサンプルのHTMLは次のとおりです。私のUIWebViewのloadHtmlStringのキャッシュをクリアするには?
<div id="image">
<a href="image">
<img src="@image" class="center">
</a>
</div>
私はマイドキュメント内のファイルパスに@imageを交換するには、次のコードを使用しています:
NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@",
[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png"];
text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile];
NSURL* baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]];
[self.webView loadHTMLString:text baseURL:baseUrl];
(テキストはhtmlです私のHTMLファイルのテキスト)。
このコードが初めて呼び出されたときに動作します。しかし、たとえば、myimage.pngを変更してコードをもう一度呼び出すと、変更前の画像が表示されます。 (私は自分の文書フォルダ内のファイルをチェックしていますが、すでに正しく修正されています)。
キャッシュの原因と思われます。誰も助言することはできますか?
おかげ
注:これは、キャッシュによって引き起こされる
。私は、画像の新しいコピーをロードするためのUIWebViewを強制するために、次の方法を使用して問題を解決:
NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@?t=%d",
[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png",time(NULL)];
text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile];
私は同じ問題があります!しかし、私の場合はイメージ名を変更できません。私は私のウェブビューを清掃しなければならない...任意のアイデア? – iWheelBuy
私の解決策は、画像をキャッシュを使わずに取得するように画像のURLを変更することです。 イメージURLを変更できないのはなぜですか?とにかく、イメージをロードする必要がありますか? –
私は画像のURLを変更しました!今はうまく動作します。 URLを変更するのは難しいことでした。プロジェクトは非常に大きく、私のプロジェクトではありません。とにかくあなたの解決策は唯一のウォーキングの1つであることが判明しました。どうも! – iWheelBuy