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

  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008