10 Mayıs 2011 Salı

Lytebox Internet Explorer 8 sorununun çözümü

Web desing işlerinde galeri türü sayfalarda Lytebox'u çok kullanırım.Çok güzel,hoşta bir görüntü oluşturuyor.Ama gel gelelim ki,  internet explorer 8 de düzgün çalışmadığını farkettim.Firefox,opera,chrome da hiç bir sorun yokken, explorerde neden arkaplan siyah olmuyordu, ve ya kapat,next vs butonları görünmüyordu.Önceleri fixlemek için uğraşmasamda, daha sonra bu kadar ertelediğim yeter,şuna bir el atmak lazım dedim. Internette yaptığım araştırmalar sonucu, sorun .CSS dosyasından değil fonksiyonun ta kendisinden kaynaklanıyormuş.



Soruna sebep olan kod satırı şu;
this .ie = (document.all && !window.opera) ? true : false;
Yukarıdaki kodu şu aşağıdaki kod ile değiştirirseniz, problem çözülmüş olacaktır.
this .ie = (document.all && !window.opera) ? troubleshooter_fix() : false;
yukarıdaki kodda sadece bir fonksiyon eklenmiştir,Aşağıdaki kodu LyteBox.prototype.initialize fonksiyonundan hemen önce ekleyin.

 function troubleshooter_fix() {
         if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
                  var ieversion = new Number(RegExp.$1)
                  if (ieversion >= 8 )
                           return false;
                  else if (ieversion < 8 )
                           return true;
         }
         return false;
}


hepsi bu kadar.  Yukarıdaki fixlenmiş haliyle,bu fonksiyon IE8 , IE7, Firefox 3.0.11, Safari 4.0, Chrome 2 tarayıcılarında test edilmiş,düzgün olarak çalıştığı görülmüştür.


Eğer bunları yapamam,bana direk download edebileceğim bir hazır,fixlenmiş Lytebox yok mu diyorsanız, buyrun BURAYA TIKLAYARAK Download edin.



.

0 yorum:

Yorum Gönder