hala çalışıyor olsa da, ben 2017 Tarayıcılar hala farklı davranabilir için güncellemek istiyorum Benim asıl cevap 2009 yılında yazılmış 2017
için Güncelleştirme. Tarayıcılar arası tutarlılığı korumak için iyi bir iş yapmak için jQuery ekibine güveniyorum. Ancak, tüm kütüphaneyi dahil etmek gerekli değildir. JQuery kaynağında, ilgili bölüm line 37 of dimensions.js'da bulunur. Burada çıkarılan ve başına çalışır şekilde değiştirilir: tüm tarayıcılar farklı davranır yana
function getWidth() {
return Math.max(
document.body.scrollWidth,
document.documentElement.scrollWidth,
document.body.offsetWidth,
document.documentElement.offsetWidth,
document.documentElement.clientWidth
);
}
function getHeight() {
return Math.max(
document.body.scrollHeight,
document.documentElement.scrollHeight,
document.body.offsetHeight,
document.documentElement.offsetHeight,
document.documentElement.clientHeight
);
}
console.log('Width: ' + getWidth());
console.log('Height: ' + getHeight());
Orijinal Cevap
, önce değerler için test etmek gerekir ve ardından edeceğiz Doğru olanı kullan. İşte size bunu yapan bir fonksiyon açıklanmıştır: yükseklik için
function getWidth() {
if (self.innerWidth) {
return self.innerWidth;
}
if (document.documentElement && document.documentElement.clientWidth) {
return document.documentElement.clientWidth;
}
if (document.body) {
return document.body.clientWidth;
}
}
ve benzer: scriptlerinizdeki
function getHeight() {
if (self.innerHeight) {
return self.innerHeight;
}
if (document.documentElement && document.documentElement.clientHeight) {
return document.documentElement.clientHeight;
}
if (document.body) {
return document.body.clientHeight;
}
}
Çağrı Bunlardan ikisi getWidth()
veya getHeight()
kullanarak. Tarayıcının yerel özellikleri tanımlı değilse, undefined
döndürür.
Doğru hatırladım, jQuery çekirdek boyutuna çok boyut kattı. Önerdiğin şeyi yapmak için hala boyutlara ihtiyacınız var mı? – Nosredna
Yapmadığınızı ortaya çıkarır. Hangisi harika. Düzenlenen yanıt. Head-up için teşekkürler. – chaos
jQuery'deki $ (window) .width() desteği, herhangi biriyle ilgili olması durumunda sürüm 1.2'den beridir. – chaos