1. Ana soruya cevap
Komut dosyası $(window).height()
iyi çalışıyor (kaydırma yüksekliğine sahip belgeyi değil, görünümün yüksekliğini gösteren), ancak belgenize doctype etiketini doğru bir şekilde koymanız gerekir, örneğin bu dokümanlar:
HTML 5 için:
<!DOCTYPE html>
Geçici HTML4 için:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Muhtemelen bazı tarayıcılar tarafından varsayılan belge türü $(window).height()
, tarayıcının yüksekliğini değil belgenin yüksekliğini alır. Doctype spesifikasyonu ile tatmin edici bir şekilde çözüldü ve eminim ki pepseler "kaydırma taşmasını gizli ve sonra geri değiştirmek" ten kaçınacağından eminim. t Gelecekteki programcıların kullanımı için kod üzerinde belgelemek.
2. İLAVE bir ipucu, bir kenara not edin:
Ayrıca, bir komut dosyası kullanıyorsanız, programcıların kütüphanelerinizi kullanmasına yardımcı olmak için testler icat edebilirsiniz, bir çift icat etmeme izin verin:
$ (belge) .ready (function () {
if(typeof $=='undefined') {
alert("PROGRAMMER'S Error: you haven't called JQuery library");
} else if (typeof $.ui=='undefined') {
alert("PROGRAMMER'S Error: you haven't installed the UI Jquery library");
}
if(document.doctype==null || screen.height < parseInt($(window).height()) ) {
alert("ERROR, check your doctype, the calculated heights are not what you might expect");
}
});
DÜZENLEME: bölüm 2 hakkında, "EK bir ipucu, bir kenara not": @Machiel, dünkü yorumunda (2014-09-04), tamamen haklıydı: $ kontrol Jquery hazır olay içinde olamaz, çünkü işaret ettiği gibi, $ 'ın zaten tanımlanmış olduğunu varsayıyoruz. BUNU GÖNDERMEK İÇİN TEŞEKKÜRLER ve lütfen komut dosyalarınızda kullandıysanız geri kalan okuyucularınızın bunu düzeltin. Benim önerim: kütüphanelerinize kütüphaneyi başlatan bir "install_script ()" fonksiyonu koymak (ready () bildirimi ve böyle "install_script ()" fonksiyonunun BAŞLANGISI dahil olmak üzere böyle bir init fonksiyonunun içine $ herhangi bir referans koymak) , $ öğesinin tanımlanıp tanımlanmadığını kontrol edin, ancak her şeyi JQuery'den bağımsız yapın, böylece JQuery henüz tanımlanmadığında kitaplığınız "kendini tanılayabilir". Bu yöntemi bir CDN'den getiren bir JQuery otomatik oluşturma zorlamak yerine tercih ederim. Bunlar diğer programcılara yardım etmek için küçük notlar. Kütüphane yapan insanların potansiyel programcının hatalarına verilen geri bildirimlerde daha zengin olması gerektiğini düşünüyorum. Örneğin, Google Apis'in hata mesajlarını anlamak için bir kenara el kitabına ihtiyacı vardır. Bu, bir el kitabında veya teknik özelliklerde arama yapmanıza gerek olmayan bazı küçük hatalar için harici belgelere ihtiyaç duymanız saçmadır. Kütüphane KENDİ BELGELİ olmalıdır. Bundan altı ay sonra bile yapabileceğim hatalara dikkat ederek kod yazıyorum ve hala temiz ve tekrar etmeyen bir kod olmaya çalışıyor, gelecekteki geliştirici hatalarını önceden yazmış. Kütüphane yapan insanların potansiyel programcının hatalarına verilen geri bildirimlerde daha zengin olması gerektiğini düşünüyorum. Örneğin, Google Apis'in hata mesajlarını anlamak için bir kenara el kitabına ihtiyacı vardır. Bu, bir el kitabında veya teknik özelliklerde arama yapmanıza gerek olmayan bazı küçük hatalar için harici belgelere ihtiyaç duymanız saçmadır. Kütüphane KENDİ BELGELİ olmalıdır. Bundan altı ay sonra bile yapabileceğim hatalara dikkat ederek kod yazıyorum ve hala temiz ve tekrar etmeyen bir kod olmaya çalışıyor, gelecekteki geliştirici hatalarını önceden yazmış. Kütüphane yapan insanların potansiyel programcının hatalarına verilen geri bildirimlerde daha zengin olması gerektiğini düşünüyorum. Örneğin, Google Apis'in hata mesajlarını anlamak için bir kenara el kitabına ihtiyacı vardır. Bu, bir el kitabında veya teknik özelliklerde arama yapmanıza gerek olmayan bazı küçük hatalar için harici belgelere ihtiyaç duymanız saçmadır. Kütüphane KENDİ BELGELİ olmalıdır. Bundan altı ay sonra bile yapabileceğim hatalara dikkat ederek kod yazıyorum ve hala temiz ve tekrar etmeyen bir kod olmaya çalışıyor, gelecekteki geliştirici hatalarını önceden yazmış. t Bir kılavuzu veya teknik özellikleri aramanıza gerek yoktur. Kütüphane KENDİ BELGELİ olmalıdır. Bundan altı ay sonra bile yapabileceğim hatalara dikkat ederek kod yazıyorum ve hala temiz ve tekrar etmeyen bir kod olmaya çalışıyor, gelecekteki geliştirici hatalarını önceden yazmış. t Bir kılavuzu veya teknik özellikleri aramanıza gerek yoktur. Kütüphane KENDİ BELGELİ olmalıdır. Bundan altı ay sonra bile yapabileceğim hatalara dikkat ederek kod yazıyorum ve hala temiz ve tekrar etmeyen bir kod olmaya çalışıyor, gelecekteki geliştirici hatalarını önceden yazmış.