Чи можу я змусити оновити кеш в Safari, який працює на iOS?


56

Більшість веб-переглядачів Windows використовують комбінацію клавіш Ctrl+, F5щоб примусити оновити кеш-пам'ять сторінки. Браузери на базі Mac OS X, як правило, використовують Command+ R. Чи є еквівалентне оновлення кешу для однієї сторінки в Safari, що працює на iOS?

Я усвідомлюю, що можу очистити кеш браузера вручну, але я вважаю за краще лише оновити сторінку, яку зараз переглядаю.


Це те, про що ти думаєш? apple.stackexchange.com/questions/73153/…
bassplayer7

@ bassplayer7 це близько, але не зовсім те саме. Command + R лише оновлює ресурси для певної сторінки, з якою ви маєте справу. Це означає, що зовнішній зв’язок JavaScript з CDN також буде оновлений. Це виключає ресурси, на які не посилаються. Це дуже дрібнозернистий контроль дає настільними браузерами і супер зручно для веб - розробки.
ahsteele

Має сенс. Як веб-розробник, я розумію, як це зручно. Я припускаю, що ви це вже робите, але не можу не згадати про це - я використовую цей додаток від Adobe для своєї мобільної роботи. І я вважаю, що перезапуск Safari - настільки громіздкий - це принаймні більше оновлення, ніж кнопка. Я не заплутався з цим достатньо, щоб точно знати, що це освіжає.
bassplayer7

Чи натискання кнопки оновлення в адресному рядку також не оновлює кешований вміст?
Джеррі

Відповіді:


36

Сила виходу не працювала надійно для мене в iOS 8. Що для використання в приватному режимі для тестування:

  1. Відкрийте сторінку в приватному режимі (і поставте закладку, щоб потім можна було відкрити її).
  2. Коли вам потрібно оновити, закрийте «вкладку» браузера (ви можете залишитися в Safari та приватному режимі).
  3. Відкрийте сторінку ще раз (використовуйте закладку, створену на кроці 1).

1
Не чудове рішення, але, здається, це найкраще, що iOS дає нам працювати.
Брендан

2
Як перейти до "приватного режиму"?
linuxdan

У мобільному Safari: торкніться значка двох квадратів, на якому будуть показані всі відкриті вкладки та відкриється кнопка режиму "Приватний" внизу зліва. support.apple.com/en-gb/HT203036
Метт Сефтон

Станом на iOS 13.1.3 це більше не працює.
тембо

11

Якщо у вас телефон підключений до комп'ютера / ноутбука Apple, при відкритому інструменті розробника Safari (і активному вікні) ви можете натиснути:

Command Key + Option + R


Гадаю, що це працює, якщо ви також використовуєте клавіатуру Bluetooth разом із телефоном.
rinogo

@rinogo Негативний. Я використовую яблучну магічну клавіатуру на своєму ipad pro і "cmd + shift + r" нічого не робить у браузері сафарі.
danielson317

7

Якщо ви змусили вийти з Safari (натисніть кнопку додому, потім двічі клацніть на кнопці додому, натисніть і утримуйте значок Safari на панелі багатозадачності, а потім натисніть червону крапку), виявиться, що Safari очистить кеш-пам'ять. Але це очистить весь кеш, а не лише одну сторінку.

Також можна очистити файли cookie та дані Safari у додатку Налаштування. У розділі Додатково ви можете очистити дані з окремих веб-сайтів, які можуть працювати, якщо ви знаєте всі сайти, пов’язані з веб-сторінкою, яку ви хочете очистити.


1
Це не працює для мене (iOs 7.0.4).
Набіл Кадімі

3
За допомогою iOS 7 ви підкидаєте програму вгору із недавнього / багатозадачного списку, щоб змусити її вийти.
hotpaw2

1
IOS 7.1 тут я перевірив за допомогою віддалених інструментів для розробників Safari і, схоже, ресурси насправді не кешовані після примусового
закриття

5

Ви можете змусити пристрій припинити кешування файлів, підключивши його до комп'ютера за допомогою кабелю та включивши режим розробника Safari.

  • Увімкніть веб-інспектор на мобільному пристрої:
    Налаштування> Safari> Додатково> Веб-інспектор
  • Увімкніть інструменти Dev у Safari на macOS:
    Safari> Налаштування> Вкладка Додатково> Показати Розвиток у панелі меню
  • Підключіть пристрій до комп’ютера
  • Відкрийте панель інструментів розробки для пристрою від Safari на комп’ютері:
    розробити> iPhone прикладу> example.com/сторінку
  • Щоб відключити кешування, перейдіть на вкладку «Мережа» і переконайтесь, що маленький значок «без кешу» є блакитним (виглядає як циліндр із прорізом через нього).
  • Тепер ви зможете просто натиснути оновити в будь-який час на пристрої iOS, і ви отримаєте сучасну не кешовану версію!

Якщо ви веб-розробник, це ідеальний спосіб зробити це, оскільки тепер у вас є доступ до надзвичайно корисної повної панелі інструментів для розробників. І вам не доведеться постійно повторювати дратівливий процес, якщо вам потрібно постійно отримувати свіжу версію, а не просто очищати кеш один раз.

Якщо ви просто звичайний користувач, який намагається очистити кеш, ви можете скористатися тут одним із інших методів.


Оновлення: тепер ви можете підключитися до пристрою через WiFi. Можливо, все-таки потрібна початкова настройка за допомогою кабелю, але ви безперечно можете підключитися без нього.
Розробка> Приклад iPhone> Підключення через мережу


1

Видаліть кешовані дані для одного сайту, перейшовши в Налаштування > Safari > Додатково > Дані веб-сайту > Показати всі сайти .

Торкніться Правка в нижній правій частині екрана, а потім прокрутіть список або шукайте в полі пошуку, щоб знайти веб-сайт, який потрібно очистити). Натисніть на червоний - значок поруч з адресою сайту, а потім натисніть Delete з'явилася кнопки.

Поверніться до Safari та перезавантажте сторінку, і всі артефакти сайту будуть перезавантажені.


Це не вийшло. Елементи не можна натискати на моєму iPad (iOS 12).
сир ТАК перестань шкодити Моніці

0

На Safari увімкніть режим розробника. Тоді ви можете використовувати таку комбінацію, щоб очистити кеш:

Option-Key + Command-Mac-Key + E 

Я припускаю, що це лише випустить кеш сайту, на якому ви перебуваєте на той момент.


На жаль, ваші інструкції стосуються лише настільної версії Safari. Питання стосувалося версії iOS.
calum_b

-1

Двічі торкніться кнопки оновлення.


7
Це працює для когось? Подвійне натискання просто зупиняє оновлення, яке я розпочав із першого натискання.
Брендан

Так, це було єдине, що насправді працювало на мене. Не впевнений, що це просто б'є сафарі в попу, але це працює.
Бен Рабіду

-3

ви можете додати випадкове число дістатися до сценарію або посилання src, наприклад:

<link rel="stylesheet" href="css/main.css?rand=<?=$rand;?>" type="text/css" /> <script type="text/javascript" src="js/main.js?rand=<?=$rand;?>"></script>

це змушує Safari перезавантажити файл, оскільки він вважає, що це інший файл.


4
Як це працює з боку користувача?
nohillside

1
Додайте випадковий параметр до URL-адреси вгорі...?rand=15
Аарон Дігулла

Це називається "кеш-перебір", що робить URL-рядок унікальним, як бачить браузер. Таким чином, він ніколи не знайде цю URL-адресу в своєму кеші. (І сторона приймаючого просто повністю ігнорує параметр-параметр GET.) Але це насправді не те саме, що просить ОП.
Майк Робінсон

@AaronDigulla Це не працюватиме для пов'язаних ресурсів, таких як файли та зображення CSS.
Flimm

-3

Довго натисніть кнопку оновлення. iPhone 6


6
Це відображає меню з "запитом настільного сайту" в телефоні 7.
Flimm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.