Почему кеш-память Safari не будет очищена? - программирование
Подтвердить что ты не робот

Почему кеш-память Safari не будет очищена?

Я пытаюсь отлаживать сайт на iPhone4 (iOS4) iPad1 (iOS3.3) и на рабочем столе.

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

Если я добавляю оповещения/консоли в файлы js, которые я отлаживаю, они отображаются на iPad и на рабочем столе, но iPhone просто перезагружает из кеша.

Если я очистил кеш через settings>safari>delete browser history, cache, cookies, а в Safari удалил все закладки и удалил файлы на сервере, iPad и разрыв рабочего стола (отсутствующие файлы), но iPhone все еще загружает страницу, как будто ничего не произошло.

Не уверен, что это подходящее место, чтобы спросить, но, возможно, у кого-то есть аналогичный опыт и идея, как обходиться?

Спасибо!

ИЗМЕНИТЬ:
Я играл с этим еще немного. Если я запускаю приложение через значок, кеш очищается. Только когда я открываю страницу в Mobile Safari, она по-прежнему использует неправильный файл из кеша. Указатели по-прежнему приветствуются!

ИЗМЕНИТЬ:
Я начинаю щедрости по этому поводу. Я использую RequireJS и JqueryMobile на сайте, поэтому они также могут быть причиной отказа кэша. Тем не менее, я не понимаю, почему он очищается в режиме приложения и почему он не отображается в Mobile Safari.

Я пробовал следующее:
1. Нажатие reload page в строке URL не очищает кеш. Нажав на ссылку, а затем загружая страницу через go, похоже, время от времени очищает кеш

4b9b3361

Ответ 1

Несмотря на то, что это немного взломано, возможно, стоит пойти на это обходное решение (я предполагаю, что это для разработки)

В соответствии с примечаниями по отключению кеширования ajax здесь Как отключить кеширование Ajax в браузере Safari? вы можете установить заголовки без кеша при разработке или в обычном HTML, как это

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">

очевидно, что он не исправит вашу первоначальную проблему застревания. но вы можете разбить цикл, добавив произвольный параметр запроса: something = 3164, чтобы URL-адрес был действительно уникальным. то в следующий раз, когда он загрузится, мы надеемся, что он будет удерживать параметры no-cache.

Если даже это не работает, вы можете настроить закладку, которая перенаправляет вас на другой случайный номер = 14361 каждый раз, когда все они являются фактически уникальными вызовами - но тогда мы попадаем в глупую территорию!

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

Ответ 2

При разработке для iOS mobile вы можете легко очистить кеш, подключив телефон к компьютеру через USB и используя инструменты разработки:

  • В телефоне включите инструменты разработки: Настройки/Safari/Дополнительно
  • В компьютере включите меню Safari: Настройки/Дополнительно
  • Убедитесь, что мобильный Safari открыт и проверяет телефон: Develop/PHONE_NAME/TAB_NAME
  • Теперь вы нажимаете cmd-shift-r, чтобы очистить кеш в телефоне

Ответ 3

Попробуйте остановить сафари и перезагрузите его и удалите все страницы, находящиеся в сафари.... см. изображение, как закрыть страницы enter image description here

Ответ 4

Вы имеете дело с HTML5 "офлайн-приложение" ? Использование файла манифеста для офлайн-приложений является совершенно новым и имеет странные причуды для каждого браузера. Измените файл манифеста на сервере, и iPhone снова получит страницы.

ИЗМЕНИТЬ: Если у вас когда-либо был файл манифеста (и атрибут HTML, указывающий на него), если вы удалите манифест в неправильном порядке, ваш кеш может запутаться:

  • HTML и манифест существуют
  • Удалите файл манифеста и перезагрузите HTML-страницу = > HTML-страница должна быть un-manifest, так как манифест 404, но в некоторых браузерах это не так.
  • Измените HTML = > HTML-страницу не удалите кеширование, так как файл манифеста (несуществующий) не изменился.

Чтобы правильно развернуть его, попробуйте:

  • Добавьте HTML и запишите в
  • Сначала удалите атрибут манифеста HTML и перезагрузите страницу
  • Затем удалите файл манифеста с сервера.

Ответ 5

есть другое решение без перезапуска вашего устройства для сафари,

  • Перейдите к Settings
  • Затем перейдите к Safari
  • Затем перейдите и просмотрите параметры Clear Cookie and Data, как показано ниже. iPhone Safari Clear Cookie and Data

  • Теперь вернитесь к своему сафари, и все готово!

если у вас есть еще один комментарий ниже.

Ответ 6

Что для меня работает, это поиск моего сайта в Google и поиск результата поиска Google.