Запрет кэширования файлов .css в UIWebView, загруженных с диска

В проекте iPad, над которым я работаю, у меня есть UIWebView внутри приложения, которое отображает файл .html, который ссылается на файл .css, т.е.

<link rel="stylesheet" href="style.css" type="text/css">

. Эти файлы хранятся локально на iPad, но извлекаются с удаленного сервера. Я заметил, что UIWebView кэширует файл .css более или менее бесконечно и отказывается загружать новый файл всякий раз, когда я его изменяю. Однажды я изменил имя файла, чтобы сбросить его, но в долгосрочной перспективе это неприемлемо.

Есть ли способ предотвратить кэширование файла CSS в UIWebView ? Или даже лучше, есть ли способ сказать, когда кэшировать, а когда нет?

9
задан Kalle 23 August 2010 в 16:18
поделиться

1 ответ

Да.

Измените вашу строку на эту:

<link rel="stylesheet" href="style.css?version=1" type="text/css">

Каждый раз, когда вы обновляете таблицу стилей, меняйте версию. Браузер будет думать, что это другая страница из-за строки запроса, и ваш сервер проигнорирует ее.

Если вы используете язык на стороне сервера, такой как PHP, вы также можете сделать следующее:

<link rel="stylesheet" href="style.css?version=<?php echo time(); ?>" type="text/css">

Это изменит версию каждый раз при обновлении, таким образом останавливая все кэширование.

16
ответ дан 4 December 2019 в 12:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: