Hanya menyegarkan file JavaScript di Firefox dan Chrome


64

Saya hanya ingin menghapus file JavaScript dari browser web saya (Firefox dan Chrome). Saya sedang melakukan debugging JavaScript, dan itu mengganggu bahwa JS saya tidak akan diperbarui setiap kali saya mengubah file JS saya. Satu-satunya hal yang bisa saya lakukan sekarang adalah menghapus cookie saya, tetapi melakukan itu menghapus semua riwayat penelusuran saya.

Bagaimana saya bisa menghapus / menyegarkan file JavaScript yang telah dimuat ke browser saya tanpa menghapus file lain?

Jawaban:


42

Saya melakukan ini sendiri untuk pengembangan. Saya menggunakan Ctrl+ F5. Ini seperti penyegaran kekuatan. Ini menyegarkan halaman termasuk mengunduh kembali file JavaScript yang direferensikan atau file CSS bahkan jika mereka di-cache.

Ini TIDAK akan menghapus hal lain seperti riwayat penelusuran Anda.

Tetapi harap dicatat bahwa meskipun saya tahu ini berfungsi di Firefox, dan mungkin Internet Explorer, saya tidak yakin apakah Ctrl+ F5berfungsi dengan cara yang sama di Chrome.

Juga, iegik mengatakan:

Pada beberapa browser Anda dapat menggunakan ` Ctrl+ Shift+ Runtuk melakukan tugas yang sama.


Bagus! Saya mengubah jawaban yang diterima untuk Anda karena Anda adalah solusi yang lebih sederhana
Graviton

Saya menghargai itu ... Tetapi harap dicatat bahwa meskipun saya tahu ini berfungsi di Firefox, dan mungkin IE, saya tidak yakin apakah CTRL-F5 bekerja dengan cara yang sama di Chrome.
7wp

2
Sama dengan Chrome 21 beta pada Win7 - menyegarkan halaman dengan ctrl-f5 tidak meminta kembali file JS (Saya menggunakan Charles untuk menggandakan verifikasi).
Artem Russakovskii

1
sebenarnya chrome memperlakukan ctrl + f5 pertama sebagai penyegaran normal dengan desain, ctrl + f5 berikutnya (lebih dari satu) dalam waktu singkat akan memaksa pemuatan ulang semua sumber
Zeela

1
Untuk Chrome, F12 dan klik kanan tombol muat ulang. superuser.com/questions/220179/…
Cees Timmerman

50

Dengan Chrome:

Dimulai dengan Chrome 15, buka Alat Pengembang, klik roda gigi di kiri bawah layar, dan pilih kotak centang Nonaktifkan cache .

Nonaktifkan cache di Chrome 15 dan lebih tinggi

Dengan cara ini, Anda akan yakin bahwa sumber daya selalu dimuat ulang dari server, dan Anda tidak harus menghapus cache secara manual, yang mungkin juga menghapus data cache untuk situs yang tidak terkait.


Terima kasih atas tipnya - Saya baru saja memeriksa dan opsi itu ada di Chrome 14 juga.
keybits

Jenius! Itu temuan yang bagus.
Randomblue

Cemerlang, saya mencari ini.
Artem Russakovskii

... dan jangan lupa untuk menghapus centang opsi setelah Anda selesai dengan itu.
Halil Özgür

Pada pengambilan kedua, sepertinya opsi ini hanya aktif ketika devtools terlihat: twitter.com/ChromiumDev/status/227356682890670080 (dari stackoverflow.com/a/7000899/372654 )
Halil Özgür

8

Saya tidak setuju dengan @ 7wp. Karena beberapa pengguna akhir Anda tidak terbiasa dengan fungsi Ctrl+ F5, dan beberapa bahkan tidak menyadari perbedaan antara browser dan bahkan keberadaan browser lain (misalnya tetua), Anda harus memaksa browser untuk mengunduh salinan baru file JS / CSS.

Solusi terbaik di sini adalah menambahkan timestamp di akhir nama file .js / .css, atau tambahkan versi svn yang juga merupakan ide bagus.

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>

5

Anda mungkin ingin mencoba membersihkan hanya cache Anda, dan bukan seluruh penelusuran, riwayat, cookie, kata sandi, data formulir yang disimpan, dan yang lainnya (default).

Di Firefox 3.5, buka

Alat »Hapus Riwayat Terbaru ...

Kemudian pastikan hanya "Cache" yang dipilih sebelum memilih "Bersihkan Sekarang."

Di Chrome (tidak tahu versi khusus apa yang Anda gunakan, karena saya menggunakan pengembangan dev), buka

Ikon Kunci Inggris (Alat) »Opsi» tab Barang Pribadi »Hapus data penelusuran ...

Sekali lagi, pastikan hanya "Kosongkan cache" dicentang.

Atau, Anda dapat mencoba membuka sesi pribadi baru di Firefox atau jendela Penyamaran di Chrome; tidak juga harus menembolok file apa pun (termasuk file .JS Anda) yang Anda unduh dan proses secara otomatis saat menjelajah.


Penyamaran mungkin merupakan cara untuk menggunakan Chrome.
mdoar

1

Saya telah menggunakan sedikit trik di situs yang saya kerjakan ... untuk alasan yang sama seperti Anda. Saya membuat perubahan kecil dan kode JavaScript dimuat oleh kode JavaScript dan ingin memastikan bahwa saya selalu bekerja dengan skrip saat ini (tidak di-cache).

Cobalah membuat kode JavaScript yang Anda muat ke dalam file PHP ... cukup masukkan <?php ?>di awal dan masukkan ext .php.

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

Karena namanya berubah, Internet Explorer mengira itu adalah file baru;)


1
Tidak perlu mengubah nama menjadi '.php'. Jika Anda meletakkan 'filename.js? T =' + t hasilnya sama. Anda dapat melakukannya dengan '.css' juga. Semua sistem produksi kami menggunakan trik ini untuk menyatakan bahwa klien menggunakan file konten yang tepat.
Leonel Martins

1
Sebagai catatan, kami cenderung menggunakan nomor revisi SVN alih-alih tanggal / waktu. Dengan begitu kita mendapatkan manfaat caching, dan menyegarkan hanya ketika kita benar-benar berkomitmen.
Groo

Terima kasih banyak! Trik ini benar-benar menyelinap di pikiranku. Saya telah berjuang melawan masalah ini selama berhari-hari dan ini akan melakukannya untuk saya. Saya baru saja meletakkan ini di akhir url: "? <? Php echo time ()?>"
thrashr888

1

Di Chrome, Anda cukup menekan Ctrldan mengklik tombol refresh. Saya menemukan ini secara kebetulan.


Ini menyegarkan dari seluruh halaman, saya tidak berpikir ini hanya menyegarkan Javascript saja.
Ivo Flipse

1

Saya membuka file JavaScript di tab terpisah, Shift+ menyegarkan, memverifikasi bahwa saya melihat perubahan terbaru, kemudian Shift+ menyegarkan halaman yang sebenarnya (sebenarnya, dalam kasus saya, bingkai dalam bingkai, yang tampaknya membuat keadaan menjadi lebih buruk). Ini berfungsi hampir sepanjang waktu.


0

Saya belum menggunakannya sendiri, tetapi Add-on Firefox "Clear Cache Button" mungkin berguna. Saya membaca dokumentasi mereka, jadi saya tidak yakin apakah itu membersihkan riwayat penjelajahan Anda juga.


0

Buka pengaturan konten di Chrome, nonaktifkan JavaScript, dan simpan.

Kemudian, aktifkan kembali JavaScript.


0

Jika Anda bekerja dengan JavaScript dan khawatir tentang memuat ulang halaman untuk mencerminkan perubahan JavaScript. Cobalah menggunakan debugger Chrome, tempat Anda dapat membuat perubahan pada file JavaScript yang dimuat saat dijalankan dan tanpa menggunakan ulang apa pun dapat menguji fungsi baru atau perubahan yang ingin Anda uji.


Selamat Datang di Pengguna Super! Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal.
DavidPostill


0

Tambahkan beberapa fungsi tanggal dinamis di akhir file JavaScript Anda. Ini akan memaksa browser untuk memuat file JavaScript yang diperbarui. Artinya, ketika menyertakan file .js Anda bisa menambahkan .... xyz.js?

< ? php echo date('l jS \of F Y h:i:s A') ? >

Tentu saja ini bisa dihapus setelah debugging Anda selesai dan siap untuk ditayangkan.


Ini bukan Javascript.
Natalie Adams
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.