2011-08-10 13 views
38

Tüm sayfanın görünür yüksekliğini iframe, $(window).height() içinden almanın bir yolu var mı iframe s yüksekliğini bana veriyor?

+3

"Görünürlük yüksekliği" ile ne demek istiyorsun? '$ (window) .height()' size görünüm panelinin yüksekliğini verir. – lonesomeday

+2

$ (window) .height() çapraz tarayıcı olduğundan daha iyi çalışır. I.e., cevabınız daha iyidir :). –

+0

Tarayıcının görünür yüksekliğine ve belgenin yüksekliğine değil. "Iframe" i yüksekliği 3500px'e ayarlıyorum ve eğer $ (window) .height() 'ı almaya çalışırsam, bu bana 3500px veriyor; –

cevap

43

Çerçeveler kullanıyorsanız, jQuery yapıcısında window.top'u kullanarak en dıştaki pencerenin yüksekliğini alabilirsiniz. window.top'un yüksekliği tarayıcı penceresinin yüksekliğini alacaktır.

$(window.top).height(); 

Düzenleme: Mozilla, belgelerini etraflarına taşıdığından, window.top referansı güncellendi.

+0

Büyük teşekkürler!: -D –

+5

Not - bu iki çerçeve içinde ise işe yaramaz Facebook uygulamalarıyla olduğu gibi farklı etki alanları: –

+0

Ayrıca chrome geliştirici araçları konsolunda 'result' çerçevesindeki window.top.innerWidth 'işlevini çalıştırırken jsFiddle uygulamasında çalışmaz gibi görünmüyor:' Uncaught DOMException: Kökeni olan bir çerçeveyi engelledi https://fiddle.jshell.net "bir çapraz-menşe çerçevesine erişmekten". "Üst" pencerenin "https: // jsfiddle.net" alan adında olduğunu varsayalım. – user1063287

21

Hep tarayıcıya bağlı olarak bu implementation

window.innerHeight or document.body.clientHeight or document.documentElement.­clientHeight kullandık.

Ama neden jquery'nin $ (window) .height() görünür yüksekliğiniz için çalışmadığını göremiyorum?

+1

Çünkü bir Facebook Uygulamasında bir 'iFrame' içinde kullanıyorum. IFrame'in kendisinin 3500px yüksekliğinde olması, ancak kullanıcıların penceresinin yüksekliğini bilmek istiyorum. –

+0

Bunların hiçbiri işe yaramıyor. Bana "iFrame" in yüksekliğini veriyor ve tarayıcıların görünür alanının yüksekliği değil. Bir iframe içinde olduğunuzdan –

+0

. Pencere nesnesi sadece sayfanıza referans gösterecektir. Üst sayfa farklı bir pencere nesnesine sahip olacaktır. Ve ben çapraz alan problemleri veri acessing önlemek için düşünüyorum :(. Facebook toplam yükseklik hayır verir bir şekilde olmalı? – MarutiB