Как я могу принудительно перезагрузить Chrome для Android

207

В Chrome для рабочего стола у меня есть опции в инструментах разработчика, чтобы полностью отключить кеш при открытии инструментов разработчика, и у меня есть варианты вручную выполнить полную перезагрузку при долгом нажатии на кнопку перезагрузки (с открытыми инструментами разработки).

Есть ли такая техника для Chrome для Android? Я не нашел никаких настроек. Что я могу сделать, если я хочу заставить браузер загружать некоторые файлы JavaScript или CSS вместо использования кэшированного при разработке?

Рислинг
источник
Просто вернулся, чтобы расширить (что было) стабильное веб-приложение, и обнаружил, что это происходит. Последние данные о состоянии хранятся в файле .js с суффиксом url-адреса кеша. Это больше не работает, в Chrome на Windows, ChromeOS или Android.
Euan M
Похоже, что простое обновление (нажатие на кружок со стрелкой) обнаруживает любые изменения в эти дни. никаких трюков. ... дай мне знать, если я ошибаюсь.
Ронни Ройстон,

Ответы:

168

Я использую в 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
Я открываю окно Инкогнито
Дипак Камат
133

Просмотр страницы в режиме инкогнито отключит кеш. Это был единственный способ заставить обновление таблицы стилей без очистки кеша вручную через настройки.

Майкл
источник
2
@Kev Ни для меня.
Рики Бойс,
1
Да, этот работает для меня на Android 6.0.1 с Chrome 59.
Avio
4
Это работает лучше, чем принятый ответ, по крайней мере, на Android 7.1.2 и Chrome 61. Кэширование действительно очень агрессивно. Даже очистка кэшированных файлов для этого домена не работала для меня.
Ожье
Я использую его чаще, если он у вас не работает, возможно, кеш находится на сервере, а не в браузере.
Дипак Камат
2
Он очистит кэш в режиме инкогнито только в первый раз. После этого появляется та же проблема
Мара
75

Также вариант:

  1. Меню
  2. настройки
  3. Конфиденциальность
  4. Очистить данные просмотра
  5. Проверьте «Cache» и нажмите «CLEAR»

и затем перезагрузите страницу.

checkmate711
источник
1
Теперь его изменили на Clear Browsing Data, где вы можете проверить clear cacheс помощью флажка.
Shaijut
1
Нет, затем KILL Chrome, перезапустите Chrome и перезагрузите страницу. Да, стало еще хуже.
ADTC
4
Обновление: даже убийство Chrome больше не работает. Я понятия не имею, что, черт возьми, убирает опция «Кэшированные изображения и файлы» ... она все еще держится за кэшированный файл CSS. Это становится все более смешным!
ADTC
1
Обновление: см. Ответ Хайдгерта. Очистка кэша может по-прежнему загружать «кэшированные» результаты с серверов Google, если в настройках Chrome включен «Хранитель данных».
ADTC
1
Это очистит кеш от ВСЕХ сайтов, а не только проверенных.
Обмерк Кронен
46

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

Просто нажмите на него, дождитесь обновления, затем отмените выбор.

lucoweb
источник
Подтвердили работу на Chrome. Я почти пропустил этот ответ во время скимминга. Удалены комментарии о Firefox, чтобы помочь следующему человеку. Я надеюсь, что это не противоречит намерениям автора .
Измаил
1
Это, безусловно, лучший ответ для разработки, когда вы получаете застрявший файл CSS или JS. Я нахожу, что обычно обновление работает нормально, но иногда по какой-то необъяснимой причине застревает файл js или css, и это единственный способ открепить его, который я нашел. Хотел бы я дать больше, чем 1 голос, потому что это так легко исправить.
Lizardx
8
Раньше это работало некоторое время назад, но больше не работает ни с какой последней версией Chrome по состоянию на декабрь 2017 года.
Capagris
1
Это работало для меня с Chrome 2018 65.0.3325.109 на Samsung Android 5.1.1; SM-T900 Build / LMy47X. Это имело дополнительное преимущество: не уничтожать кэшированные данные (например, localStorageзначения).
КОД-ЧИТАНИЕ
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 . И эта функция удивительна не только для возможности полной перезагрузки. Спасибо!
Кевинмике
Для тестирования в эмуляторах Android Ctrl + Shift + R в devtools действительно хорош и быстр. Нет включения и выключения каких-либо настроек и т. Д. Спасибо.
Райнер Шварц
21

Не забудьте убедиться, что параметр «Уменьшить использование данных» отключен, так как кажется, что он загружает кэшированные данные (с серверов Google?), Даже если ваш локальный кэш очищен.

heidgert
источник
1
Я думаю, что этот параметр теперь просто называется «Хранитель данных».
Bletch
19

Как сбросить все данные для данного URL / веб-сайта на Chrome Mobile для Android:

1 - Откройте меню Chrome и коснитесь значка «i (информация)»

один

2 - нажмите «Настройки сайта»

два

3 - Нажмите значок корзины

три

Вот и все, даже самый глубоко укрытый сервисный работник по этому URL теперь умрет.

yPhil
источник
7
Это не работает на Chrome 73.0.3683.90 на Samsung S9 +. Я пробовал это более 15 раз, а также javascript: location.reload (true), и это не работает. Похоже, что пользователи Android тоже не могут быть разработчиками, по словам господина тьмы Гууг-Ула.
SE снова наносит удар, к сожалению,
Работает на моем Note 8 .. Но я должен обновить страницу после.
Крис Кадмор
Вы также можете получить это меню, щелкнув значок замка (или любой другой элемент, отображаемый для незащищенных соединений) слева от URL-адреса.
Крис Кадмор
Безусловно, лучшее решение! <3
bArraxas
12

Я знаю, что это старый вопрос, но я обнаружил, что принятый ответ не работает для меня.

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

Если у вас уже есть параметры, конечно, вы бы использовали амперсанд, т.е. 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 недели назад.
Дрор
Это не ваша вина, но это довольно ужасное решение, поскольку оно очищает данные о просмотре и для всех других сайтов, что является болью, если вы используете свой браузер для чего-то кроме работы разработчика!
GameKyuubi
@GameKyuubi На самом деле, если вы выбираете данные за последний час, боль ограничена. Но, конечно , это решение довольно бедно, я только ссылки, потому что это официальный один и делает работу (Противоположно до нескольких других).
Скиппи ле Гран Гуру
Это то, что я имею в виду, тот факт, что это официальное решение, совершенно смущает.
GameKyuubi
7

Я нашел решение, которое работает, но это некрасиво.

  • Подключите устройство Android к компьютеру с помощью USB-кабеля и откройте Chrome на рабочем столе .
  • Щелкните правой кнопкой мыши в любом месте страницы и выберите «Осмотреть».
  • Щелкните трехточечное меню и выберите «Удаленные устройства» в меню «Дополнительные инструменты»:

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

  • В открывшейся панели выберите свое устройство, а затем кнопку «Проверить» рядом с названием вкладки на телефоне, которую необходимо обновить:

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

  • В открывшемся окне перейдите на вкладку «Сеть» и установите флажок «Отключить кэш»:

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

  • Перезагрузите страницу на вашем телефоне или используйте кнопку перезагрузки в окне DevTools.

Примечание. Если ваш телефон не отображается в списке устройств:

  • убедитесь, что USB-соединение использует режим передачи файлов, а не просто заряжается
  • попробуйте перезапустить ADB или запустить, adb devicesчтобы увидеть, обнаруживается ли устройство
Натан Осман
источник
1
Отличное решение, оно работает главным образом для «проверки» веб-страницы устройства непосредственно на рабочем столе, и вы также можете очистить кеш. Спасибо.
juanram0n
Это на самом деле самый красивый ответ.
Джон
6

Удаленная отладка позволяет использовать настольные инструменты разработки:

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

Swonkie
источник
да, спасибо, я знаю, что уже - должен был упомянуть об этом, но иногда я не хочу подключать это, но все еще есть эта опция
Рислинг
2
Вы можете очистить кэш следующим образом: support.google.com/chrome/answer/2392709
Swonkie
5
Спасибо, хотя вариант без очистки всего кэша для всех сайтов был бы хорош
Рислинг
Это наиболее надежный вариант, когда вы включаете Сеть> Отключить кэш
Руперт Роунсли,
6

Последние версии Chrome очень агрессивно кешируют. Даже методы очистки кэша, такие как « http: // url? Updated = datecode », перестали работать. Вы должны очищать кеш или запускать окно инкогнито каждый раз (и убедитесь, что сохранение данных отключено).

Грег Сирл
источник
Интересно, я не знал об этом. Есть ли у вас источник, подтверждающий это утверждение?
Антуан
2
Это просто наблюдаемое поведение, когда я разрабатываю свои собственные приложения Javascript. Я должен был указать директиву CACHE-CONTROL: NO-CACHE в заголовке HTTP моего веб-сервера разработки, чтобы не сходить с ума от ошибок, которые просто не исчезнут (потому что Chrome настаивал на кэшировании старого кода). Firefox не отображает это поведение.
Грег Сирл,
4

Единственный надежный способ, который не требует подключения телефона к ПК, заключается в следующем:

1. Принудительно остановить приложение Chrome.

Это должно быть сделано в первую очередь, и вы не можете повторно открыть Chrome, пока не закончите эти шаги. Есть несколько способов заставить остановиться. Большинство домашних пусковых установок позволяют вам получить доступ к «информации о приложении», удерживая палец на значке Chrome и выбирая значок «i». Кроме того, вы можете перейти в настройки Android и просто выполнить поиск «Chrome».

В «Информация о приложении» выберите «Force stop», как показано ниже:


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

Выберите «Хранилище» на том же экране:


Наконец, выберите «Очистить кеш».

Когда вы вернетесь в приложение Chrome, страница должна перезагрузить себя и предоставить не кэшированную версию.

Кроме того, я нашел сайт, с помощью которого можно легко проверить, очистили ли вы кеш: https://refreshyourcache.com/en/cache-test/
Я никоим образом не связан с ним. Обратите внимание, что метод очистки кэша, упомянутый на этом сайте, на самом деле устарел и больше не действует.

Борт
источник
1
Отлично, это единственное решение, которое работает для меня без отладки по USB.
Луис Лема
2

РЕДАКТИРОВАТЬ: этот метод устарел в Google Chrome и больше не будет работать.

ОРИГИНАЛЬНЫЙ ОТВЕТ:

Мне удалось очистить кэш (включая последующие xhr) с помощью chrome: // net-internals

хромированная сетка

Затем нажмите маленькую стрелку в правом верхнем углу

меню

Выберите «очистить кеш» из этого меню.

Том Кей
источник
В Chrome 75 chrome: // net-internals сообщает: «Средство просмотра событий net-internals и связанные с ним функции были удалены ...»
Борт,
@ Борт спасибо за головы. Похоже, этот метод больше не будет работать.
Том Кей
1

Вот еще одно простое решение, которое может работать, когда другие терпят неудачу:

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

Этот трюк может обновить CSS-файл, по крайней мере, в стандартном браузере 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, затем перешел на исходную страницу, обновил ее (с кнопкой обновления слева от адресная строка) и вуаля: на этот раз обновление index.html наконец заработало.

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

DirkTheWebPhoenix
источник
К сожалению, это единственный, который, кажется, работает в настоящее время. Это означает, что всякий раз, когда вы работаете с css, вам нужно постоянно обновлять functions.php в WordPress до версии. Да, еще одна глупость, связанная с Google, который не в состоянии думать и сейчас работает с Microsoft. Но да, старый трюк :)
Гэвин Симпсон
1

Если дело только во включенных файлах, просто добавьте версию после пути ( ?v=12345678)

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

Тот, кто снова загрузит страницу, увидит изменения.

Novasol
источник
1
Недооцененный отличный ответ!
Лисандро