Подтвердить что ты не робот

Как я могу очистить кеш веб-приложения IOS на Homescreen?

Я использую JQTouch для создания веб-приложения на Homescreen с помощью метатега "apple-mobile-web-app-able", но независимо от того, сколько раз я очищаю кеш из настроек, JavaScript-приложение для веб-приложений по-прежнему более старая кешированная версия.

Как ни странно, если я установил содержимое метатега:

<meta name="apple-mobile-web-app-capable" content="no" />

... затем добавьте веб-приложение в Homescreen, я получаю последнюю версию при запуске.

Но если я установил метатег;

<meta name="apple-mobile-web-app-capable" content="yes" />

... затем добавьте веб-приложение в Homescreen, я получаю старую кешированную версию.

PS. Я могу подтвердить, что только javascript, который не будет обновляться.

4b9b3361

Ответ 1

Вы можете попробовать добавить уникальную строку в конец вашего атрибута js include src (например, используйте временную метку). Имейте в виду, что вам придется изменить эту уникальную строку для каждого обновления, которое вы хотите сделать, поэтому вы можете захотеть заняться ленивой загрузкой (что само по себе может решить вашу проблему): <script type="text/javascript" src="myScript.js?012345"></script>

Это обычно заставляет браузер захватывать последнюю версию script. Может работать...

Ответ 2

Я обнаружил, что использование bundling в ASP.NET MVC разрешило эту проблему для меня.

Он автоматически генерирует связанное звено формы:

http://www.domain.com/MvcBM_time/bundles/AllMyScripts?v=r0sLDicvP58AIXN_mc3QdyVvVj5euZNzdsa2N1PKvb81

Токен после v = изменяется, если какой-либо файл в пакете изменяется, гарантируя, что браузер запрашивает пакет, получит последний пакет.

Ответ 3

Это способ, с помощью которого я удалял полностью кеш:

1-Удалить вкладки в сафари, где есть ваше приложение.
2-Удалить значок приложения на главном экране.
3- Убить сафари из памяти.
4-Перейдите к настройкам/сафари и нажмите очистить кеш.
5 - Вы можете перезагрузить iPhone/iPod, если хотите убедиться, что он работает

Ответ 4

Если вы заблокированы, просто сделайте это в терминале

rm ./Library/Caches/com.apple.webapp/Cache.db

Ответ 5

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

Если вы используете добавить на главный экран, вы можете добавить? web_app_ready = 1 к URL-адресу установки. Поскольку это не процедура конечного пользователя, добавление строки запроса к каждому script (ответ выше), вероятно, будет более эффективным для не-разработчиков среды.

Ответ 6

Построение SquareFeet означает, что каждый раз можно автоматически вытаскивать новый файл с помощью уникального тега GET, добавленного к имени файла, с использованием PHP. Например:

<link rel="stylesheet" type="text/css" href="/css/global.css?
   <?php echo(mt_rand(10000000, 99999999)); ?>
" />
Теоретически, одна и та же задача может быть выполнена с использованием JavaScript, хотя с некоторыми изменениями на веб-сервере:
<link rel="stylesheet" type="text/css" href="/css/global.css?
   <div id="id"></div>
" />

<script language="Javascript" type="text/javascript">
   document.getElementById("id").innerHTML = Math.floor((Math.random() * 10000) + 1);
</script>