Setiap kali saya mengeluarkan file CSS atau javascript versi baru untuk aplikasi web mana pun, saya secara manual menambahkan ?v=#
ke URL di bagian atas HTML (# adalah nomor versi, seperti 3 atau 10) untuk memastikan pengguna cache browser tidak menghalangi perubahan.
Tetapi beberapa aplikasi memiliki banyak file CSS dan beberapa JS di kepalanya dan sulit untuk melacak semua file yang diubah.
Kami menggunakan platform ASP.NET pada server IIS, jadi gunakan jawaban untuk Apa cara elegan untuk memaksa browser memuat ulang file CSS/JS yang di-cache? tidak mungkin tetapi saya mencari yang serupa. Sebaiknya semua javascript.
Saya suka saran di posting itu untuk menggunakan hash md5 tetapi sepertinya saya tidak dapat menemukan cara untuk menghitung checksum file CSS atau JS.
Kodenya akan terlihat seperti ini (menggunakan jQuery):
$.each($("script[type='text\javascript']"),function(){
$(this).attr("src",$(this).attr("src") + "?v=" + checkMD5Sum($(this).attr("src")) );
});
function checkMD5Sum(url){
//get the hash or something to auto version the file
//I could send the url or filename to a webmethod to get the MD5 check sum, but doing this after page load is not usefull, so what to do?
}
Atau mungkin menggunakan proses postbuild di Visual Studio, namun saya belum pernah melakukannya sehingga enggan mencobanya.
Edit
Akan mencobanya di web.config sesuai Menambahkan Profil Caching sebuah>
<configuration>
<system.webServer>
<caching enabled="true">
<profiles>
<add extension=".js" policy="CacheUntilChange" />
<add extension=".css" policy="CacheUntilChange" />
</profiles>
</caching>
</system.webServer>
</configuration>