Firefox ve Chrome'da yalnızca JavaScript dosyalarını yenilemeye zorla


64

Yalnızca JavaScript dosyalarını web tarayıcılarımdan (Firefox ve Chrome) silmek istiyorum. JavaScript hata ayıklaması yapıyorum ve JS dosyalarımı değiştirdiğimde JS’imin güncellenmemesi can sıkıcı bir durum. Şu an yapabileceğim tek şey çerezlerimi silmek, fakat bunu yapmak tüm tarama geçmişimi siliyor.

Diğer dosyaları silmeden tarayıcılarıma yüklenen JavaScript dosyalarını nasıl temizleyebilirim / yenileyebilirim?

Yanıtlar:


42

Bunu geliştirme için kendim yapıyorum. Kullandığım Ctrl+ F5. Bir güç yenileme gibi. Bu, önbelleğe alınmış olsalar bile başvurulan JavaScript dosyalarını veya CSS dosyalarını yeniden indirmeyi içeren sayfayı yeniler.

Tarama geçmişiniz gibi başka hiçbir şeyi temizlemeyecektir.

Ancak bunun Firefox’ta ve muhtemelen Internet Explorer’da çalıştığını bilmeme rağmen, Ctrl+’ F5nın Chrome’da aynı şekilde çalıştığından emin değilim .

Ayrıca, iegik diyor ki:

Bazı tarayıcılarda aynı görevi yapmak için ` Ctrl+ Shift+ Rkullanabilirsiniz.


Harika! Kabul edilen cevabını sizinkilerle değiştirdim çünkü sizinki daha basit bir çözüm
Graviton

Buna minnettarım ... Ama bunun Firefox'ta çalıştığını bilmeme rağmen, muhtemelen IE’nin CTRL-F5’in Chrome’da aynı şekilde çalışıp çalışmadığından emin değilim.
7wp

2
Win7'deki Chrome 21 beta ile aynıdır - ctrl-f5 ile sayfayı yenilemek JS dosyasını yeniden istemez (Charles'ı iki kez doğrulamak için kullanıyorum).
Artem Russakovskii,

1
aslında krom ilk ctrl + f5'i tasarım gereği normal yenileme olarak görür, daha sonra kısa sürede ctrl + f5 (bir
taneden fazla)

1
Chrome, F12 ve yeniden yükle düğmesine sağ tıklayın. superuser.com/questions/220179/…
Cees Timmerman

50

Chrome ile:

Chrome 15'ten başlayarak, Geliştirici Araçları'nı açın, ekranın sol alt tarafındaki dişli çarkı tıklayın ve Önbelleği devre dışı bırak onay kutusunu seçin .

Chrome 15 ve üstü sürümlerde önbelleği devre dışı bırak

Bu şekilde, kaynakların her zaman sunucudan yeniden yüklendiğinden emin olursunuz ve ilgisiz siteler için önbelleğe alınmış verileri de kaldırabilecek önbelleği el ile temizlemeniz gerekmez.


Tavsiyen için teşekkürler - Ben sadece kontrol ettim ve bu seçenek de Chrome 14'te.
keybits

Genius! Bu harika bir keşif.
Randomblue

Harika, bunu arıyordum.
Artem Russakovskii,

... ve sadece işiniz bittikten sonra seçeneğin işaretini kaldırmayı unutmayın.
Halil Özgür

İkinci bir çekimde, bu seçenekler yalnızca devtools görünür olduğunda etkin görünüyor: twitter.com/ChromiumDev/status/227356682890670080 ( stackoverflow.com/a/7000899/372654
Halil Özgür

8

@ 7wp ile aynı fikirde değilim. Son kullanıcılarınızdan bazıları Ctrl+ F5işlevine aşina olmadığından ve bazıları tarayıcılar arasındaki farklılıkların ve hatta diğer tarayıcıların (örneğin büyükler) varlığından bile haberdar olmadığından, tarayıcıyı yeni bir kopyasını indirmeye zorlamalısınız. JS / CSS dosyaları.

Buradaki en iyi çözüm .js / .css dosya adlarının sonuna zaman damgası eklemek ya da harika bir fikir olan svn sürümünü eklemektir.

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

5

Tüm göz atma, geçmiş, çerezler, şifreler, kaydedilmiş form verilerini ve neyi değil (varsayılanı) değil, yalnızca önbelleğinizi temizlemeyi deneyebilirsiniz.

Firefox 3.5’te

Araçlar »Son Geçmişi Temizle ...

Ardından, "Şimdi Temizle" yi seçmeden önce yalnızca "Önbellek" seçili olduğundan emin olun.

Chrome'da (geliştirdiğim sürümleri kullanırken hangi sürümü kullandığınızı bilmiyorum),

Anahtar Simgesi (Araçlar) »Seçenekler» Kişisel Sayfalar sekmesi »Tarama verilerini temizle ...

Yine, yalnızca "Önbelleği boşalt" seçeneğinin işaretli olduğundan emin olun.

Alternatif olarak, Firefox'ta yeni bir Özel oturum açmayı veya Chrome'da Gizli pencerede açmayı deneyebilirsiniz; ne de tarama sırasında otomatik olarak indirdiğiniz ve işlediğiniz dosyaları (.JS dosyaları dahil) önbelleğe almamalı.


Gizli mod muhtemelen Chrome'a ​​gitmenin yoludur.
mdoar

1

Üzerinde çalıştığım bir sitede küçük bir numara kullanıyorum ... seninle aynı sebeplerden dolayı. Küçük değişiklikler yapıyorum ve JavaScript kodu JavaScript koduyla yüklendi ve her zaman geçerli (önbelleğe alınmamış) komut dosyasıyla çalıştığımdan emin olmak istiyorum.

Bir PHP dosyasına yüklediğiniz JavaScript kodunu yapmayı deneyin ... basitçe <?php ?>başında ve .php dosyasının üstüne koyun.

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);

Ad değiştiğinden, Internet Explorer yeni bir dosya olduğunu düşünüyor;)


1
Adı '.php' olarak değiştirmenize gerek yoktur. 'Filename.js? T =' + t komutunu verirseniz sonuç aynı olur. Siz de '.css' ile yapabilirsiniz. Tüm üretim sistemlerimiz, müşterilerin doğru içerik dosyalarını kullandıklarını doğrulamak için bu numarayı kullanır.
Leonel Martins

1
Not olarak, tarih / saat yerine SVN revizyon numarasını kullanma eğilimindeyiz. Bu şekilde, önbellek avantajlarından yararlanırız ve yalnızca gerçekten söz verdiğimizde yenileniriz.
Groo

Çok teşekkürler! Bu numara tamamen aklımdan geçti. Bu konuyu günlerdir savaştım ve bu benim için yapacak. Bunu
URL'nin

1

Chrome'da, sadece düğmesine basıp Ctrlyenile düğmesini tıklatabilirsiniz. Bunu tesadüfen keşfettim.


Bu, tüm sayfayı zorlu bir şekilde yeniliyor, bunun yalnızca Javascript'i yenilediğini sanmıyorum.
Ivo Flipse

1

JavaScript dosyasını ayrı bir sekmede Shiftaçtım , + yenile, en son değişiklikleri gördüğümü doğrula, ardından Shift+ asıl sayfayı yenile (aslında benim durumumda, daha da kötüye gidecek gibi görünen bir çerçeve içinde çerçeve). Bu hemen hemen her zaman çalışır.



0

Chrome'daki içerik ayarlarına gidin, JavaScript'i devre dışı bırakın ve kaydedin.

Ardından, JavaScript'i tekrar etkinleştirin.


0

JavaScript ile çalışıyorsanız ve JavaScript değişikliklerini yansıtmak için sayfayı yeniden yükleme konusunda endişeleriniz varsa. Chrome hata ayıklayıcısını kullanmaya çalışın; burada yüklenen JavaScript dosyalarınızda çalışma zamanında değişiklik yapabilir ve herhangi bir yeniden yükleme kullanmadan test etmek istediğiniz yeni işlevleri veya değişiklikleri test edebilirsiniz.


Süper Kullanıcıya Hoşgeldiniz! Lütfen soruyu tekrar dikkatlice okuyunuz. Yanıtınız yok değil orijinal soruya cevap.
DavidPostill


0

JavaScript dosyanızın sonuna dinamik tarih fonksiyonu ekleyin. Tarayıcıyı güncellenmiş JavaScript dosyasını yüklemeye zorlar. Yani, .js dosyasını dahil ederken ekleyebilirsiniz .... xyz.js?

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

Elbette bu hata ayıklama işleminiz bittiğinde ve kullanıma hazır hale geldikten sonra kaldırılabilir.


Bu Javascript değil.
Natalie Adams
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.