Css, JavaScript ve Resim Dosyalarında Tarayıcı Önbelleği

Bildiğiniz gibi tarayıcı bu dosyaları sürekli okumamak için önbelleğe alıyor.. Dosyalarda bir değişiklik yapsak bile, kullanıcının bunu görebilmesi için ya bir süre beklemesi gerekiyor ya da ctrl + shift + r ile önbelleği temizleyip yenilemesi gerekiyor.. Hal böyle olunca çoğu kullanıcı yaptığınız güncellemleri çok geç görüyor buda projede sorunlara yol açabiliyor.. Bu yüzden küçük bir hile yaparak bu sorunu çözebiliriz.. Normal şartlarda çağırdığımız css, js ya da resim dosyaları şu şekildedir;

<!-- Style -->
<link rel="stylesheet" href="/style.css" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js">
<!-- Resim -->
<img src="/resim.jpg" alt="" />

Şimdi bu kodları şöyle değiştirelim;

<!-- Style -->
<link rel="stylesheet" href="/style.css?v=1" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js?v=1">

<img src="/resim.jpg?v=1" alt="" />

Sonuna getirdiğimiz ?v=1 ifadesi illaha bu şekilde tanımlanmak zorunda değil.. Yani ?a=1 gibi de tanımlanabilir.. Ama bu çoğu sitenin kullandığı genel bir tanım olduğu için bende bu şekilde kullanıyorum.. Bir nevi versiyonu temsil ediyor 🙂 Böyle kaydettiğimizde, artık bu dosyalarda herhangi bir değişiklik yaptığımızda kullanıcı anlık olarak görecektir.

Güncelleme

Eğer bu şekilde doğru sonucu vermiyorsa php’nin time fonksiyonunu kullanabilirsiniz.

<!-- Style -->
<link rel="stylesheet" href="/style.css?v=" type="text/css" media="screen" />
<!-- Script -->
<script type="text/javascript" src="/script.js?v="></script>
<!-- Resim -->
<img src="/resim.jpg?v=" alt="" />