Php ile Youtube Videolarını “Defer”leme

Php ile kodladığım blog scriptinde bir içerikte 10 adet youtube videosu koydum ve sayfanın aşırı derecede ağırlaştığını gözlemledim. Hemen bir fonksiyon yazarak bu işi çözmek istedim. Bu fonksiyonuda sizlerle paylaşayım dedim.

function youtubedefer($dizge)
{
if(strstr($dizge,'<iframe')):
return $degistir=str_replace('<iframe src="', '<iframe src="img/loading.gif" data-src="',$dizge);
else:
return $dizge;
endif;
}

burada fonksiyonumuzun içine koyacağımız metinde öncelikle <iframe kelimesini araştırıyoruz. daha sonra eğer iframe varsa belirli bir kısmı kesip yeni yapıyı yazıyoruz. src kısmına ben yükleniyor resmi atadım daha sonra da asıl src kısmını data-src ye atadım. Sayfanın alt kısmınada gerekli javascript kodunu eklediğinizde artık youtube videoları sayfa açıldıktan sonra yüklenecektir.

<script>
function init() {
  var vidDefer = document.getElementsByTagName('iframe');
  for (var i=0; i<vidDefer.length; i++) {
    if(vidDefer[i].getAttribute('data-src')) {
      vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>

Test edebileceğiniz bağlantı

Kazım Uslu

Kazım Uslu

PHP,MYSQL,CSS,JS,JQUERY yazılım dillerine hakim, Şu sıralar PYHTON ve LINUX üzerine araştırma geliştirme yapan, sunucu optimizasyonu ile uğraşan, boş zamanlarında Wordpress geliştirmeleri üzerine çalışmalar yapan yazılımcıyım. Yazılımı meslek olarak icra ediyorum. Alaylıyım, 11 senedir internet sektöründe çalışıyorum.

Bakmakta Fayda Var

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir