SORU
19 Kasım 2009, PERŞEMBE


Çapraz tarayıcı (hiçbir Prototip/jQuery)görüş tam yükseklik ve genişlik bul

Bir tarayıcının görünüm penceresi tam yükseklik ve genişlik bulmaya çalışıyorum, ama ya Mozilla veya IE bana yanlış numara verdiğini sanıyorum. Burada yükseklik için benim yöntemi:

var viewportHeight = window.innerHeight || 
                     document.documentElement.clientHeight || 
                     document.body.clientHeight;

Genişlik henüz başlamadım ama ona benzer bir şey olacak diye tahmin ediyorum.

Bu Bilgi almanın daha doğru bir yolu var mı? İdeal çözüm, diğer tarayıcılar Chrome/Safari/ile de çalışmak isterim.

CEVAP
9 Ocak 2010, CUMARTESİ


Bu deneyebilirsiniz:

function getViewport() {

 var viewPortWidth;
 var viewPortHeight;

 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
 if (typeof window.innerWidth != 'undefined') {
   viewPortWidth = window.innerWidth,
   viewPortHeight = window.innerHeight
 }

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
 else if (typeof document.documentElement != 'undefined'
 && typeof document.documentElement.clientWidth !=
 'undefined' && document.documentElement.clientWidth != 0) {
    viewPortWidth = document.documentElement.clientWidth,
    viewPortHeight = document.documentElement.clientHeight
 }

 // older versions of IE
 else {
   viewPortWidth = document.getElementsByTagName('body')[0].clientWidth,
   viewPortHeight = document.getElementsByTagName('body')[0].clientHeight
 }
 return [viewPortWidth, viewPortHeight];
}

( http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ )

Ancak, hatta olası tüm tarayıcılarda görünüm penceresi bilgileri (tuhaflıklar modunda örneğin IE6). Ama yukarıdaki senaryo iyi bir iş yapmak gerekir :-)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • Floortile83

    Floortile83

    16 Ocak 2010