Як я можу змусити зробити перезавантаження в Chrome для Android


207

У Chrome для настільних комп’ютерів у мене є параметри інструментів для розробників, щоб повністю відключити кеш, коли інструменти розробки відкриваються, і я маю можливість вручну робити важке перезавантаження при тривалому натисканні на кнопку перезавантажити (з відкритими інструментами для розробників).

Чи є така техніка для Chrome для Android? Я не знайшов жодної настройки. Що я можу зробити, коли хочу змусити браузер завантажити якийсь файл JavaScript або css, а не використовувати кешований при розробці?



Щойно повернувся, щоб розширити (те, що було) стабільний веб-додаток, і виявив, що це відбувається. Останні дані про стан зберігаються у файлі .js із суфіксом URL-кеша-кестера. Це більше не працює в Chrome на Windows, ChromeOS або Android.
Euan M

здається, що просте оновлення (натискання на стрілку w кола) виявляє зміни в ці дні. ніяких хитрощів. ... дайте мені знати, якщо я помиляюся.
Ронні Ройстон

Відповіді:


167

Я використовую window.location.reload(true)відповідно до MDNце подібне питання), він змушує сторінку перезавантажуватися з сервера.

Ви можете виконати цей код у браузері, ввівши javascript:location.reload(true)в адресному рядку.


7
Просто введіть його в адресний рядок з префіксом коду javascript:.
Конрад Дзвінель

4
Власне, ви повинні мати можливість уникнути window.частини. javascript:location.reload(true)повинен зробити трюк.
Конрад Дзвінель

5
не працював для мене на chrome v55.0.2883.91 / android5.1.1
Kev

20
Він не працює на моєму, v56.0.2924.87 на Android 7.1.1. Чому ви можете просто натиснути оновлення та перезавантажити веб-переглядач, як це було раніше? Такий роздратування при спробі розвитку.
Скотт Вілсон

33
Я відкриваю вікно інкогніто
Deepak Kamat

132

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


2
@Kev Ні для мене.
Ricky Boyce

1
Так, цей працює для мене на Android 6.0.1 з Chrome 59.
Avio

4
Це працює краще, ніж прийнята відповідь, принаймні, на Android 7.1.2 та Chrome 61. Кешування є якось агресивним. Навіть спорожнення кешованих файлів для цього домену не працювало для мене.
Ogier Schelvis

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

2
Він очистить кеш в режимі анонімного перегляду лише перший раз. Після цього з'являється та сама проблема
Мара

75

Також варіант:

  1. Меню
  2. Налаштування
  3. Конфіденційність
  4. Видалення даних про переглянуті
  5. Поставте прапорець "Кеш" та натисніть "ОЧИСТИТИ"

а потім перезавантажте сторінку.


1
Тепер його змінили на Clear Browsing Data, де ви можете clear cacheвстановити прапорець.
shaijut

1
Ні, а потім, KILL Chrome, перезавантажте Chrome, а потім перезавантажте сторінку. Так, тільки погіршилося.
ADTC

4
Оновлення: Навіть вбивати Chrome більше не працює. Я поняття не маю, що, пекло, очищає параметр "Кешовані зображення та файли". Він все ще тримається кешованого CSS-файлу. Це стає все смішніше!
ADTC

1
Оновлення: Дивіться відповідь Хайдгерта. Очищення кеша може все-таки завантажувати "кешований" результат із серверів Google, якщо в налаштуваннях Chrome увімкнено "Захист даних".
ADTC

1
Це очистить кеш із ВСІХ сайтів, а не лише з перевірених.
Обмерк Кронен

46

Ви можете використовувати Запит робочого столу в меню програми (праворуч від адресного рядка), що змусить сторінку перезавантажитись.

Просто торкніться його, дочекайтеся оновлення та зніміть його.


Підтверджено роботу в Chrome. Я майже не пропустив цю відповідь під час скидання. Видалено коментарі про Firefox, щоб допомогти наступній людині. Я сподіваюся, що це не суперечить намірам автора .
Ізмаїл

1
Це, безумовно, найкраща відповідь для розвитку, коли ви отримуєте застряглий файл css або js. Я вважаю, як правило, освіжаючий працює нормально, але іноді з якихось незрозумілих причин файл js або css застрягає, і це єдиний спосіб відклеїти його, який я знайшов. Бажаю, я міг би дати більше одного результату, хаха, тому що це таке легке виправлення.
Лізардкс

8
Це працювало деякий час назад, але вже не в останній версії хрому станом на грудень 2017 року.
Capagris

1
Це працювало для мене з Chrome 2018 65.0.3325.109 на Samsung Android 5.1.1; SM-T900 Build / LMy47X. Він мав додаткову перевагу не знищувати кешовані дані (наприклад, localStorageзначення).
CODE-READ

1
Не працює в квітні 2019. Chrome 73+ не працює.
SE наносить

31

Згадуючи про це тому, що ви згадали "під час розвитку".

Ви можете керувати мобільним пристроєм через браузер Chrome Desktop.

Відвідайте chrome://inspect/#devicesна робочому столі. І Inspectпристрій, підключений до вашого робочого столу. Погодьтесь, коли запитаєте дозволу.

Тепер ви повинні побачити повне вікно Devtool для поточної сторінки на мобільному пристрої.

Тепер використовуйте ярлик швидкого перезавантаження (Cmd + Shift + R) на робочому столі, щоб зробити важке перезавантаження на мобільному пристрої!


3
цей коментар застарів, але поставив мене на правильний шлях. Ви повинні спочатку ввімкнути фактичний телефон для налагодження через Chrome.
Дебора

Докладні вказівки щодо ввімкнення налагодження через USB на телефоні Android див: stackoverflow.com/a/16707217/1024735 . І ця особливість є приголомшливою для більш ніж просто здатності до жорсткого перезавантаження. Дякую!
kevinmicke

Для тестування на Android-емуляторах Ctrl + Shift + R у програмах devtools це дуже приємно та швидко. Не включайте та вимикайте будь-які налаштування тощо. Дякую.
Райнер Шварце

21

Не забудьте переконатися, що параметр "Зменшити використання даних" вимкнено, оскільки, здається, завантажують кешовані дані (з серверів Google?), Навіть якщо ваш локальний кеш залитий.


1
Я думаю, що цей параметр тепер називається просто "Захист даних".
Блеч

19

Як скинути всі дані для певної URL-адреси / веб-сайту в Chrome Mobile для android:

1 - Відкрийте меню Chrome і торкніться значка "i (info)"

один

2 - торкніться "Налаштування сайту"

два

3 - Торкніться значка кошика

три

Ось так, навіть найглибший сервісний працівник служби за цю URL-адресу зараз помре.


7
Це не працює на Chrome 73.0.3683.90 на Samsung S9 +. Я пробував це понад 15 разів, як і javascript: location.reload (вірно), і це не працює. Здається, користувачі Android також не можуть бути розробниками, за словами Гуг-Ула, владики темряви.
SE наносить

Працює над моєю Приміткою 8 .. Але я повинен оновити сторінку після.
Кріс

Ви також можете отримати це меню, натиснувши піктограму блокування (або все, що відображається для небезпечних з'єднань) зліва від URL-адреси.
Кріс

На сьогодні найкраще рішення! <3
bArraxas

12

Я знаю, що це старе питання, але я виявив, що прийнята відповідь не працює для мене.

Альтернативним рішенням буде додавання URL-адреси з новим параметром URL-адреси, наприклад website.com?a=1,website.com?a=2 і т.д.

Якщо у вас вже є параметри, звичайно, ви б використовували ampersand, тобто website.com?q=test&a=1


Це працює. Просто ?aдостатньо, якщо ви хочете перезавантажити лише один раз.
Дан Даскалеску

11
Це не дуже можливо для перезавантаження кешованих довідкових файлів (наприклад, CSS або JS), оскільки ви не можете дійсно редагувати основний HTML, щоб додати ?a- звичайно, якщо ви не хост сайту.
ADTC

7

Станом на 2018 рік у довідковому центрі google (тестовано на Chrome 63):

  1. торкніться меню трьох крапок ;
  2. виберіть Історія> Очистити дані перегляду ;
  3. при необхідності виберіть період часу (вище контрольного переліку);
  4. зніміть прапорці з усіх елементів, крім кешованих зображень та файлів ;
  5. продовжуйте Очистити дані та підтвердіть.

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


Зауважте крок 3: виберіть період часу. Це зробило для мене хитрість, оскільки я намагався очистити кешовані сторінки від 3 тижнів тому.
Dror

Це не ваша вина, але це досить жахливе рішення, оскільки воно також очищає дані веб-перегляду для всіх інших сайтів, що болить, якщо ви використовуєте веб-переглядач для чогось іншого, крім роботи розробників!
GameKyuubi

@GameKyuubi Насправді, якщо ви вибираєте дані за останню годину, біль обмежена. Але, звичайно , це рішення досить бідно, я тільки посилання, тому що це офіційний один і робить роботу (Протилежно до декількох інших).
Skippy le Grand Gourou

Це те, що я маю на увазі, те, що це офіційне рішення, прямо бентежить.
GameKyuubi

7

Я знайшов рішення, яке працює, але це некрасиво.

  • Підключіть пристрій Android до ПК за допомогою USB-кабелю та відкрийте Chrome на робочому столі .
  • Клацніть правою кнопкою миші будь-де на сторінці та виберіть "Оглянути".
  • Клацніть меню з трьома крапками та виберіть "Віддалені пристрої" у меню "Більше інструментів":

    введіть тут опис зображення

  • На панелі, що відкривається, виберіть свій пристрій, а потім кнопку "Перевірити" поруч із назвою вкладки на телефоні, яку потрібно оновити:

    введіть тут опис зображення

  • У вікні, що відкриється, натисніть на вкладку "Мережа" і поставте прапорець "Вимкнути кеш-пам'ять":

    введіть тут опис зображення

  • Перезавантажте сторінку на телефоні або за допомогою кнопки перезавантаження у вікні DevTools.

Примітка. Якщо ваш телефон не відображається у списку пристроїв:

  • переконайтеся, що з'єднання USB використовує режим передачі файлів, а не просто заряджається
  • спробуйте перезапустити ADB або запустіть, adb devicesщоб побачити, чи виявлено пристрій

1
дивовижне рішення, це працює в основному для "огляду" веб-сторінки пристрою безпосередньо на робочому столі, і ви можете очистити кеш-пам'ять теж. Дякую.
juanram0n

Це насправді найкрасивіша відповідь.
Іван

6

Віддалена налагодження дозволяє використовувати настільні програми розробки:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


так, дякую, я це знаю - мав би згадати про це, але іноді не хочу підключати його, але все ще є такий варіант
Рислінг

2
Ви можете очистити кеш так: support.google.com/chrome/answer/2392709
Swonkie

5
Дякуємо, хоч було б непоганим варіант без промивання всього кешу для всіх сайтів
Рислінг

Це найнадійніший варіант, коли ви вмикаєте мережу> вимкнути кеш
Rupert Rawnsley

6

Останні версії кешу Chrome дуже агресивно. Навіть методи кешування кеша, такі як " http: // url? Updated = code date ", перестали працювати. Ви повинні очистити кеш-пам'ять або запустити анонімне вікно кожного разу (і переконатися, що збереження даних вимкнено).


Цікаво, що я цього не знав. Чи є у вас джерела, які підтримують цю претензію?
Антуан

2
Це лише спостерігається поведінка, коли я розробляю власні програми Javascript. Мені довелося вказати директиву CACHE-CONTROL: NO-CACHE у заголовку HTTP з мого веб-сервера розробки, щоб не з глузду над помилками, які просто не зникнуть (адже Chrome наполягав на кешування старого коду). Firefox не відображає такої поведінки.
Грег Серл

4

Єдиний надійний спосіб, який я знайшов, що не потребує підключення телефону до ПК, полягає в наступному:

1. Примушуйте зупинити додаток Chrome.

Це потрібно зробити спочатку, і ви не зможете повторно відкрити Chrome, поки не закінчите ці кроки. Існує кілька способів примусити зупинку. Більшість домашніх пускових пристроїв дозволять вам дістатися до "Інформація про додаток", утримуючи палець на значку хромування та вибравши значок "i". Крім того, ви можете перейти до налаштувань Android і просто пошукати "Chrome".

Опинившись у "Інформація про додаток", виберіть "Призупинити зупинку", як показано нижче:


2. Очистіть кеш Chrome

Виберіть "Зберігання" на цьому ж екрані:


Нарешті, виберіть "Очистити кеш".

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

Крім того, я знайшов сайт, який дозволяє легко перевірити, чи ви очистили кеш: https://refreshyourcache.com/en/cache-test/
я жодним чином не пов’язаний з ним. Зауважте, що метод очищення кешу, згаданого на цьому сайті, насправді застарів і більше не дійсний.


1
Ідеально, це єдине рішення, яке працювало для мене без налагодження через USB.
Луїс Лема

2

РЕДАКТУВАННЯ. Цей метод застарілий у Google Chrome і більше не працює.

ОРИГІНАЛЬНИЙ ВІДПОВІДЬ:

Я зміг очистити кеш (включаючи наступні xhr) за допомогою chrome: // net-Internals

хромована сітка внутрішня

Потім натисніть на стрілку вгорі праворуч

меню

У цьому меню виберіть "очистити кеш".


У Chrome 75, chrome: // net-Internals сказано: "Переглядач подій net-
Bort

@Bort дякую за голову вгору. Схоже, цей метод більше не працюватиме.
Том Кей

1

Ось ще одне просте рішення, яке може спрацювати, коли інші виходять з ладу:

Сьогодні для мене працювало досить просте рішення для розробників, коли проблема кешування була кешованим CSS-файлом. Якщо коротко: Створіть тимчасову копію html-файлу та перейдіть до неї, щоб оновити кеш CSS.

Цей трюк може оновити файл CSS, принаймні, у браузері Android за замовчуванням на блакитний глобус Android (але, цілком ймовірно, його побратим, офіційний браузер Chrome теж, і будь-які інші браузери, з якими ми стикаємося на «розумних» телефонах із їх тенденцією агресивного кешування ).

Деталі:

Спочатку я спробував деякі досить прості рішення, якими поділився тут, але без успіху (наприклад, очищення недавньої історії конкретного сайту, але не місяців та місяців його). Однак мій останній CSS не буде застосовано для оновлення апона. І що, хоча я вже використовував номер-трюк версії у файлі виклику CSS у розділі html, який допоміг мені уникнути цих примхливих агресивних кешингу в минулому. (наприклад: link rel = "stylesheet" href = "style.css? v = 001", де ви оновлюєте цей номер псевдоверсії щоразу, коли вносите зміни до CSS-файлу, наприклад, 001, 002, 003, 004 ... (слід робити у кожному html-файлі сайту))

Цього разу (серпень 2019 року) оновлення номера версії файлів CSS більше не було достатньо, і для мене не працювали деякі простіші заходи, або я навіть не міг знайти доступ до деяких із них (на позиченому телефоні Android).

Врешті-решт я спробував щось порівняно просте, що остаточно вирішило проблему:

Я зробив копію файлу index.html сайту, давши йому інше ім’я (indexcopy.html), завантажив його, переглянув його на пристрої Android, потім переглянув на початкову сторінку, оновив її (кнопкою оновлення ліворуч від адресний рядок) та voilà: цього разу оновлення index.html нарешті спрацювало.

Пояснення: остання версія файлу CSS тепер остаточно застосована на Android під час оновлення відповідної сторінки html, оскільки кешована копія файлу CSS була оновлена ​​під час виклику файлу CSS із іншої сторінки тимчасового html, яка не існувала ніде в історії веб-переглядачів і потім я можу знову видалити його. Агресивне кешування, очевидно, ігнорувало URL-адресу CSS і замість цього перейшло за URL-адресою HTML, навіть незважаючи на те, що файл CSS потрібно було оновити в кеші.


На жаль, це єдиний, який, здається, працює сьогодні. Це означає, що коли ви працюєте над css, вам потрібно тримати оновлення function.php в wordpress для оновлення версії. Так, ще одна дурня про Google, яка не замислюється і зараз там з Microsoft. Але так, стара фішка :)
Гевін Сімпсон

1

Якщо це лише питання включених файлів, просто додайте версію після шляху ( ?v=12345678)

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

Хто знову завантажить сторінку, побачить зміни.


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