Greench's Blog

Subscribe to RSS feed

Sticky post

Font Resizer

, ,

Font Resizer enable you to zoom whole text on the web site without resizing any graphical elements.

Read more...

Yeni Yer Yeni Mekan

,

My Opera'daki bloglamamı sonlandırıp biraz daha ciddi yeni bir adrese taşınıyorum. Yazılarımı artık http://zettlina.com üzerinden takip edebilirsiniz.

Tarayıcı Ön Ekleri ve yarattığı Sorunlar

,

Safinaz.com Yayında

http://www.safinaz.com/ sayfasını yayına aldık.

Kara Kuvvetleri Komutanlığı ve Opera'nın İçerik Görüntülememe Sorunu

, , ,

OT ekibinden bir arkadaşımız kara kuvvetleri komutanlığının web sayfasının Opera'da düzgün görüntülenmediğini belirmişti. Sorun temel olarak içeriğin belli bir kısmın görüntülenmesi ve kalanının görüntülenmemesi.
Opera'da










Firefox'da:










Ben de bir inceleme yaptım. Sebep aşağıdaki fonksiyon.

function resizeIframe(frameid) {
    var currentfr = document.getElementById(frameid)
    if (currentfr && !window.opera) {
        currentfr.style.display = "block"
        if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
        else if (currentfr.Document && currentfr.Document.body.scrollHeight) currentfr.height = currentfr.Document.body.scrollHeight;
        if (currentfr.addEventListener) currentfr.addEventListener("load", readjustIframe, false)
        else if (currentfr.attachEvent) {
            currentfr.detachEvent("onload", readjustIframe)
            currentfr.attachEvent("onload", readjustIframe)
        }
    }
}


Peki sorun nerede?
Görüntülenmeyen içerik bir iframe içinden gösterilmeye çalışıyor. iframe bir web sayfasının içinden başka bir web sayfasını görüntülemenizi yarayan temel bir html elementi. Bu elementin varsayılan bir yüksekliği var. Yukarıdaki fonksiyon bu varsayılan yüksekliği, sol taraftaki menüyle aynı hizaya getirmeye çalışıyor. İşe de yarıyor ama if (currentfr && !window.opera) olarak belirtilen şartta !window.opera(opera değilse anlamında), Opera'nın bu işlem için çalıştırması gereken kodları çalıştırmasını engellemektedir.