Bagaimana saya bisa memaksa pemuatan ulang yang sulit di Chrome untuk Android


207

Di Chrome untuk desktop, saya memiliki opsi di alat dev untuk menonaktifkan cache sepenuhnya ketika alat dev dibuka dan saya memiliki opsi untuk secara manual melakukan pemuatan ulang yang sulit ketika mengklik lama tombol muat ulang (dengan alat dev terbuka).

Apakah ada teknik seperti itu untuk Chrome untuk Android? Saya tidak menemukan pengaturan apa pun. Apa yang bisa saya lakukan ketika saya ingin memaksa browser untuk mengunduh beberapa file javascript atau css daripada menggunakan yang di-cache saat mengembangkan?



Baru saja kembali untuk memperluas (yang tadinya) aplikasi web yang stabil, dan menemukan bahwa ini sedang terjadi. Data status terakhir disimpan dalam file .js dengan akhiran url cache-buster. Ini tidak lagi berfungsi, di Chrome di Windows, ChromeOS atau Android.
Euan M

sepertinya refresh sederhana (mengklik tanda panah lingkaran) mendeteksi setiap perubahan hari ini. tidak ada trik. ... beri tahu saya jika saya salah.
Ronnie Royston

Jawaban:


168

Saya menggunakan window.location.reload(true)menurut MDN (dan pertanyaan serupa ini ) memaksa halaman untuk memuat ulang dari server.

Anda dapat menjalankan kode ini di browser dengan mengetik javascript:location.reload(true)di bilah alamat.


7
Cukup ketik ke bilah alamat dengan awalan kode javascript:.
Konrad Dzwinel

4
Sebenarnya, Anda harus bisa menghindari window.bagian. javascript:location.reload(true)harus melakukan trik.
Konrad Dzwinel

5
tidak bekerja untuk saya di chrome v55.0.2883.91 / android5.1.1
Kev

20
Itu tidak bekerja pada saya, v56.0.2924.87 di Android 7.1.1. Mengapa Anda bisa menekan refresh dan mengunduh ulang browser seperti dulu? Suatu gangguan ketika mencoba untuk berkembang.
Scott Wilson

33
Saya membuka jendela penyamaran
Deepak Kamat

133

Melihat halaman dalam mode penyamaran akan menonaktifkan cache. Itu adalah satu-satunya cara saya bisa memaksa refresh pada stylesheet tanpa secara manual membersihkan cache melalui pengaturan.


2
@ Kev Baik untuk saya.
Ricky Boyce

1
Ya, ini bekerja untuk saya di Android 6.0.1 dengan Chrome 59.
Avio

4
Ini berfungsi lebih baik daripada jawaban yang diterima, setidaknya pada Android 7.1.2 dan Chrome 61. Caching itu entah bagaimana sangat agresif. Bahkan mengosongkan file dalam cache untuk domain itu tidak berhasil untuk saya.
Ogier Schelvis

Saya lebih sering menggunakannya, jika tidak berfungsi untuk Anda mungkin cache ada di server dan bukan di browser.
Deepak Kamat

2
Ini akan menghapus cache dalam mode penyamaran hanya pertama kali. Setelah itu masalah yang sama muncul
Mara

75

Juga merupakan opsi:

  1. Tidak bisa
  2. Pengaturan
  3. Pribadi
  4. Menghapus data pencarian
  5. Periksa "Cache" dan tekan "CLEAR"

dan kemudian memuat kembali halaman tersebut.


1
Sekarang berubah menjadi Clear Browsing Data, tempat Anda dapat memeriksa clear cachemenggunakan kotak centang.
shaijut

1
Tidak, dan kemudian, BUNUH Chrome, jalankan ulang Chrome, lalu muat ulang halaman. Ya, itu semakin buruk.
ADTC

4
Pembaruan: Bahkan membunuh Chrome tidak berfungsi lagi. Saya TIDAK tahu apa-apa pilihan "Cached gambar dan file" sedang dihapus .. masih berpegang pada file CSS cache. Ini semakin konyol!
ADTC

1
Pembaruan: Lihat jawaban heidgert. Membersihkan cache mungkin masih memuat hasil "cache" dari server Google jika "Penghemat Data" dihidupkan dalam pengaturan Chrome.
ADTC

1
Ini akan menghapus cache dari SEMUA situs, bukan hanya yang diperiksa.
Obmerk Kronen

46

Anda dapat menggunakan opsi Permintaan Situs Desktop dari menu aplikasi (di sebelah kanan bilah alamat) yang akan memaksa halaman memuat ulang.

Cukup ketuk, tunggu refresh, lalu batalkan pilihan.


Dikonfirmasi bekerja di Chrome. Saya hampir melewatkan jawaban ini saat membaca sepintas lalu. Menghapus komentar tentang Firefox untuk membantu orang berikutnya. Saya harap ini tidak bertentangan dengan maksud penulis .
Ishmaeel

1
Sejauh ini, ini adalah jawaban terbaik untuk pengembangan ketika Anda mendapatkan file css atau js yang macet. Saya menemukan biasanya menyegarkan berfungsi dengan baik, tetapi kadang-kadang untuk beberapa alasan yang tidak dapat dijelaskan file js atau css macet, dan ini adalah satu-satunya cara untuk menghapusnya yang saya temukan. Seandainya saya bisa memberikan lebih dari 1 upvote, haha, karena ini adalah perbaikan yang mudah.
Lizardx

8
Ini digunakan untuk bekerja beberapa waktu yang lalu, tetapi tidak lagi pada versi chrome terbaru pada Desember 2017.
Capagris

1
Ini bekerja untuk saya dengan Chrome 2018 65.0.3325.109 pada Samsung Android 5.1.1; SM-T900 Build / LMy47X. Itu manfaat tambahan tidak merusak data yang di-cache (seperti localStoragenilai).
CODE-REaD

1
Tidak berfungsi pada bulan April 2019. Chrome 73+ tidak berfungsi.
SE Strikes Again Sayangnya

31

Menyebutkan ini karena Anda menyebutkan "ketika berkembang".

Anda dapat mengontrol perangkat seluler melalui Browser Chrome Desktop Anda.

Kunjungi chrome://inspect/#devicesdi desktop Anda. Dan Inspectperangkat yang terhubung ke desktop Anda. Setuju ketika dimintai izin.

Sekarang Anda akan melihat jendela Devtool yang lengkap untuk halaman saat ini di perangkat seluler.

Sekarang, Gunakan pintasan hard reload (Cmd + Shift + R) di desktop untuk melakukan hard reload di perangkat seluler!


3
komentar ini kedaluwarsa tetapi menempatkan saya di jalur yang benar. Anda harus mengaktifkan telepon yang sebenarnya untuk debugging melalui Chrome terlebih dahulu.
Deborah

Untuk instruksi terperinci tentang cara mengaktifkan debugging USB pada ponsel Android, lihat: stackoverflow.com/a/16707217/1024735 . Dan fitur ini luar biasa untuk lebih dari sekedar kemampuan hard reload. Terima kasih!
kevinmicke

Untuk pengujian di emulator Android Ctrl + Shift + R di devtools benar-benar bagus dan cepat. Tidak menghidupkan dan mematikan pengaturan, dll. Terima kasih.
Rainer Schwarze

21

Jangan lupa untuk memastikan bahwa pengaturan "Kurangi penggunaan data" dimatikan, karena sepertinya mengunduh data yang di-cache (dari server Google?) Meskipun cache lokal Anda memerah.


1
SAYA PIKIR pengaturan ini sekarang hanya disebut "Penghemat Data".
Bletch

19

Cara mengatur ulang semua data untuk URL / Situs web yang diberikan di Chrome Mobile untuk android:

1 - Buka menu Chrome, dan ketuk ikon "i (info)"

satu

2 - ketuk "Pengaturan situs"

dua

3 - Ketuk ikon tempat sampah

tiga

Itu saja, bahkan pekerja layanan yang paling berlindung untuk URL itu sekarang akan mati.


7
Ini tidak berfungsi pada Chrome 73.0.3683.90 pada Samsung S9 +. Saya telah mencoba ini lebih dari 15 kali, dan juga javascript: location.reload (true), dan tidak berhasil. Tampaknya pengguna Android juga tidak bisa menjadi pengembang, menurut Guug-Ul, penguasa kegelapan.
SE Strikes Again Sayangnya

Bekerja pada Note 8 saya .. Tapi saya harus me-refresh halaman setelahnya.
Chris Cudmore

Anda juga bisa mendapatkan menu ini dengan mengeklik ikon kunci (atau apa pun yang ditampilkan untuk koneksi tidak aman) di sebelah kiri URL.
Chris Cudmore

Sejauh ini solusi terbaik! <3
bArraxas

12

Saya tahu ini adalah pertanyaan lama, tetapi saya menemukan bahwa jawaban yang diterima tidak berhasil untuk saya.

Solusi alternatif akan menambahkan url dengan parameter url baru seperti website.com?a=1, website.com?a=2, dll

Jika Anda sudah memiliki parameter, tentu saja, Anda akan menggunakan ampersand yaitu website.com?q=test&a=1


Ini bekerja. Cukup ?asudah jika Anda hanya ingin memuat sekali.
Dan Dascalescu

11
Ini sangat tidak mungkin untuk memuat ulang file referensi yang di-cache (seperti CSS atau JS), karena Anda tidak dapat benar-benar mengedit HTML utama untuk menambahkan ?a- tentu saja, kecuali jika Anda adalah host situs.
ADTC

7

Mulai 2018, dari pusat bantuan google (diuji di Chrome 63):

  1. ketuk menu tiga titik ;
  2. pilih Riwayat> Hapus data penjelajahan ;
  3. jika perlu, pilih periode waktu (di atas daftar periksa);
  4. hapus centang semua item kecuali gambar dan file dalam cache ;
  5. lanjutkan dengan Bersihkan data dan konfirmasi.

Seperti disebutkan dalam jawaban lain, tab penyamaran juga sangat bermanfaat untuk pengembangan.


Catatan langkah 3: pilih periode waktu. Ini melakukan trik bagi saya karena saya mencoba untuk membersihkan halaman cache dari 3 minggu yang lalu.
Dror

Ini bukan kesalahan Anda, tetapi ini adalah solusi yang cukup mengerikan karena membersihkan data penjelajahan untuk semua situs lain juga, yang menyakitkan jika Anda menggunakan browser Anda untuk apa pun selain pekerjaan dev!
GameKyuubi

@GameKyuubi Sebenarnya, jika Anda memilih data dari jam terakhir rasa sakit terbatas. Tetapi tentu saja solusi ini sangat buruk, saya hanya mereferensikannya karena itu adalah solusi resmi dan memang berfungsi (berlawanan dengan beberapa yang lain).
Skippy le Grand Gourou

Itulah yang saya maksudkan, fakta bahwa ini adalah solusi resmi yang benar-benar memalukan.
GameKyuubi

7

Saya menemukan solusi yang berhasil, tetapi jelek.

  • Hubungkan perangkat Android ke PC Anda dengan kabel USB dan buka Chrome di desktop Anda .
  • Klik kanan di mana saja pada halaman dan pilih "Inspeksi".
  • Klik menu tiga titik dan pilih "Perangkat jarak jauh" di bawah menu "Alat lainnya":

    masukkan deskripsi gambar di sini

  • Pada panel yang terbuka, pilih perangkat Anda dan kemudian tombol "Periksa" di sebelah nama tab di ponsel Anda yang perlu di-refresh:

    masukkan deskripsi gambar di sini

  • Di jendela yang terbuka, klik tab "Jaringan" dan centang kotak "Nonaktifkan cache":

    masukkan deskripsi gambar di sini

  • Muat ulang halaman di ponsel Anda atau gunakan tombol muat ulang di jendela DevTools.

Catatan: jika ponsel Anda tidak muncul di daftar perangkat:

  • pastikan koneksi USB menggunakan mode Transfer File dan tidak hanya mengisi daya
  • coba mulai ulang ADB atau jalankan adb devicesuntuk melihat apakah perangkat terdeteksi

1
solusi hebat, ini bekerja terutama untuk "memeriksa" halaman web perangkat secara langsung di desktop, dan Anda juga dapat menghapus cache. Terima kasih.
juanram0n

Ini sebenarnya jawaban yang paling indah.
John

6

Remote Debugging memungkinkan Anda untuk menggunakan dev-tools desktop:

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


ya terima kasih, saya sudah tahu itu - seharusnya menyebutkan ini, tapi kadang-kadang saya tidak ingin memasangnya tetapi masih memiliki opsi ini
Riesling

2
Anda dapat menghapus cache seperti ini: support.google.com/chrome/answer/2392709
Swonkie

5
Terima kasih, opsi tanpa membuang seluruh cache untuk semua situs akan lebih baik
Riesling

Ini adalah opsi paling andal ketika Anda mengaktifkan Network> Disable Cache
Rupert Rawnsley

6

Versi terbaru dari cache Chrome sangat agresif. Bahkan teknik penghilang cache seperti " http: // url? Updated = datecode " berhenti bekerja. Anda harus menghapus cache atau membuka jendela penyamaran setiap kali (dan pastikan data-saver dimatikan).


Menarik, saya tidak menyadari hal ini. Apakah Anda memiliki sumber yang mendukung klaim ini?
Antoine

2
Ini hanya perilaku yang diamati ketika saya mengembangkan aplikasi Javascript saya sendiri. Saya harus menentukan CACHE-CONTROL: arahan NO-CACHE di header HTTP dari server web pengembangan saya agar tidak tergila-gila dengan bug yang tidak akan hilang (karena Chrome bersikeras untuk caching kode lama). Firefox tidak menampilkan perilaku ini.
Greg Searle

4

Satu-satunya cara yang dapat diandalkan yang saya temukan yang tidak perlu mencolokkan telepon ke PC adalah sebagai berikut:

1. Paksa hentikan aplikasi Chrome.

Ini harus dilakukan terlebih dahulu, dan Anda tidak dapat membuka kembali Chrome sampai Anda menyelesaikan langkah-langkah ini. Ada beberapa cara untuk memaksa berhenti. Sebagian besar peluncur rumah memungkinkan Anda masuk ke "Info aplikasi" dengan menekan jari Anda pada ikon chrome dan memilih ikon "i". Sebagai alternatif, Anda mungkin dapat pergi ke pengaturan Android dan cukup mencari "Chrome".

Setelah di "Info aplikasi", pilih "Berhenti paksa" seperti yang ditunjukkan di bawah ini:


2. Bersihkan cache Chrome

Pilih "Penyimpanan" dari layar yang sama:


Akhirnya, pilih "Hapus cache".

Saat Anda kembali ke aplikasi Chrome, halaman tersebut harus memuat ulang dirinya sendiri dan menyajikan versi yang tidak di-cache.

Selain itu, saya menemukan situs yang membuatnya mudah untuk diuji jika Anda telah membersihkan cache: https://refreshyourcache.com/en/cache-test/
Saya sama sekali tidak berafiliasi dengannya. Perhatikan bahwa metode untuk menghapus cache yang disebutkan di situs itu sebenarnya sudah usang dan tidak lagi valid.


1
Sempurna, itulah satu-satunya solusi yang bekerja untuk saya tanpa debugging USB.
Luis Lema

2

EDIT: Metode ini sudah usang di Google Chrome dan tidak akan berfungsi lagi.

JAWABAN ASLI:

Saya dapat menghapus cache (termasuk xhr berikutnya) menggunakan chrome: // net-internal

internal krom bersih

Kemudian klik panah kecil di kanan atas

Tidak bisa

Pilih "hapus cache" dari menu itu.


Di Chrome 75, chrome: // net-internal mengatakan "Penampil peristiwa net-internal dan fungsionalitas terkait telah dihapus ..."
Bort

@Bort, terima kasih atas bantuannya. Sepertinya metode ini tidak akan berfungsi lagi.
Tom Kay

1

Berikut ini adalah solusi sederhana lain yang mungkin berhasil ketika orang lain gagal:

Hari ini, solusi sisi pengembang yang cukup sederhana bekerja untuk saya ketika masalah caching adalah file CSS yang di-cache. Singkatnya: Buat salinan file html sementara dan browse ke sana untuk memperbarui cache CSS.

Trik ini dapat menyegarkan file CSS, setidaknya di browser default biru-globe-ikon Android (tetapi kemungkinan besar kembarannya, browser Chrome resmi, juga, dan apa pun browser lain yang kita temui di ponsel "pintar" dengan tren caching yang agresif ).

Detail:

Pada awalnya saya mencoba beberapa solusi yang cukup sederhana yang dibagikan di sini, tetapi tidak berhasil (misalnya membersihkan sejarah terkini dari situs tertentu, tetapi tidak berbulan-bulan). Namun CSS terbaru saya tidak akan diterapkan pada apon refresh. Dan meskipun saya sudah menggunakan trik versi-nomor-dalam file-call CSS di bagian kepala html yang telah membantu saya menghindari cachings agresif sial di masa lalu. (contoh: tautan rel = "stylesheet" href = "style.css? v = 001" di mana Anda memutakhirkan nomor versi pseudo ini setiap kali Anda membuat perubahan ke file CSS, mis. 001, 002, 003, 004 ... (harus dilakukan di setiap file html situs))

Kali ini (Agustus 2019) pembaruan nomor versi file CSS tidak lagi mencukupi, juga tidak beberapa langkah sederhana yang disebutkan di sini bekerja untuk saya, atau saya bahkan tidak dapat menemukan akses ke beberapa di antaranya (pada ponsel android yang dipinjam).

Pada akhirnya saya mencoba sesuatu yang relatif sederhana yang akhirnya menyelesaikan masalah:

Saya membuat salinan file index.html situs yang memberikannya nama yang berbeda (indexcopy.html), mengunggahnya, merambannya di perangkat Android, kemudian meramban kembali ke halaman asli, menyegarkannya (dengan tombol segarkan kiri dari bilah alamat), dan voila: Kali ini penyegaran index.html akhirnya berhasil.

Penjelasan: Versi file CSS terbaru sekarang akhirnya diterapkan pada Android ketika menyegarkan halaman html yang bersangkutan karena salinan cache dari file CSS sekarang telah diperbarui ketika file CSS dipanggil dari halaman html sementara bernama berbeda yang tidak ada di mana pun dalam riwayat browser dan saya bisa menghapusnya lagi setelahnya. Caching yang agresif tampaknya mengabaikan URL CSS dan sebaliknya pergi dengan URL HTML, meskipun itu file CSS yang perlu diperbarui dalam cache.


Sayangnya ini adalah satu-satunya yang tampaknya berfungsi saat ini. Maksudnya setiap kali bekerja pada css Anda harus terus memperbarui functions.php di wordpress untuk meningkatkan versi. Ya hal bodoh lain tentang google, yang gagal berpikir dan berada di atas sana dengan microsoft sekarang. Tapi ya, trik lama :)
Gavin Simpson

1

Jika hanya masalah file yang disertakan, tambahkan saja versi setelah path ( ?v=12345678)

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

Siapa pun yang memuat halaman itu lagi akan melihat perubahan.


1
Meremehkan jawaban yang bagus!
lisandro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.