Как я могу принудительно перезагрузить 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»

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


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, и это единственный способ открепить его, который я нашел. Хотел бы я дать больше, чем 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?), Даже если ваш локальный кэш очищен.


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

19

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

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

один

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

два

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

три

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


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


да, спасибо, я знаю, что уже - должен был упомянуть об этом, но иногда я не хочу подключать это, но все еще есть эта опция
— Рислинг

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, который необходимо было обновить в кэше.


К сожалению, это единственный, который, кажется, работает в настоящее время. Это означает, что всякий раз, когда вы работаете с css, вам нужно постоянно обновлять functions.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.