Js ve css dosyalarının browser tarafından cache’lenmesini engelleme

CSS, HTML/DOM, Javascript, php Yorum Yok »

Browser’lar varsayılan olarak javascript, css ve resimler gibi harici dosyaları önbelleğe (cache) alırlar. Genellikle bunu sayfa yeniden açıldığında daha hızlı yükleyebilmek amacıyla yaparlar. Bazen css veya javascript dosyalarımızın browser tarafından ön belleğe alınmasını istemeyiz. Bu sorunu aşağıdaki gibi kolayca halledebilirsiniz.

<link href="/stylesheet.css?<?php echo time(); ?>" rel="stylesheet" type="text/css" />

Aşağıdaki gibi bir sonuç alırsınız. time() fonksiyonu sonucunda elde edilen değer sürekli değişeceği için bu şekilde tanımlanan css veya javascript etiketi browser tarafından farklı bir dosya olarak algılanıp yeniden yüklenecektir.

<link href="/stylesheet.css?1293444465" rel="stylesheet" type="text/css" />

PHP ile css dosyalarının daha hızlı yüklenmesi

CSS, php Yorum Yok »

Web sitenizde birden fazla css dosyası kullanıyorsanız sayfanızın yüklenmesi uzun sürebilir. Aşağıdaki php örneğini kullanarak css dosyalarınızı sıkıştırıp tek bir dosyada birleştirebilirsiniz. Hem tek dosya olması hem de gereksiz boşlukların ve yorumların temizlenmesi css dosyalarınızın daha çabuk yüklenmesini sağlayacaktır.

<?php
header('Content-type: text/css');
ob_start("compress");
function compress($buffer) 
{
	/* yorumlar temizleniyor */
	$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
 
	/* tablar, boşluklar, satırlar temizleniyor */
	$buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
	return $buffer;
}
 
/* css dosyalarınız */
include('stylesheet.css');
include('typography.css');
include('grid.css');
include('print.css');
include('ozel.css');
 
ob_end_flush();
?>

Sitenizin header bölümünde css dosyalarınız yerine oluşturduğunuz bu php dosyasından istekte bulunanız yeterli.

Lampforweb 2007 Tüm hakları saklıdır. Tema N.Design Studio
İçerik RSS Yorum RSS Giriş