В проекте iPad, над которым я работаю, у меня есть UIWebView
внутри приложения, которое отображает файл .html, который ссылается на файл .css, т.е.
<link rel="stylesheet" href="style.css" type="text/css">
. Эти файлы хранятся локально на iPad, но извлекаются с удаленного сервера. Я заметил, что UIWebView
кэширует файл .css более или менее бесконечно и отказывается загружать новый файл всякий раз, когда я его изменяю. Однажды я изменил имя файла, чтобы сбросить его, но в долгосрочной перспективе это неприемлемо.
Есть ли способ предотвратить кэширование файла CSS в UIWebView
? Или даже лучше, есть ли способ сказать, когда кэшировать, а когда нет?
Да.
Измените вашу строку на эту:
<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">
Это изменит версию каждый раз при обновлении, таким образом останавливая все кэширование.