Tôi đã gặp sự cố kỳ lạ với những phiên bản khác nhau của các trình duyệt Webkit. Tôi đang cố định vị trí một phần tử ở giữa màn hình và để thực hiện các phép tính, tôi cần phải có các kích thước khác nhau, đặc biệt là chiều cao của cơ thể và chiều cao của màn hình. Trong jQuery Tôi đã sử dụng:
var bodyHeight = $('body').height();
var screenHeight = $(window).height();
trang của tôi là thường cao hơn nhiều so với khung nhìn thực tế, vì vậy khi tôi cảnh báo 'các biến, bodyHeight nên kết thúc là lớn, trong khi screenHeight nên vẫn không đổi (chiều cao của khung nhìn trình duyệt).
Điều này đúng trong - Firefox - Chrome 15 (whoa Khi đã Chrome được lên phiên bản 15!?) - Safari trên iOS5
này là không làm việc tại: - Safari trên iOS4 - Safari 5.0.4
Trên sau hai, $(window).height();
luôn trả về giá trị tương tự như $('body').height()
Suy nghĩ đó có lẽ là một vấn đề jQuery, tôi hoán đổi chiều cao cửa sổ cho window.outerHeight
nhưng điều đó cũng làm điều tương tự, khiến tôi nghĩ đây thực sự là một vấn đề về webkit.
Có ai gặp phải điều này và biết cách giải quyết vấn đề này không?
Để làm phức tạp mọi thứ, tôi dường như không thể sao chép điều này một cách cô lập. Ví dụ: http://jsbin.com/omogap/3 hoạt động tốt.
Tôi đã xác định đó không phải là vấn đề về CSS, vì vậy có lẽ có một số phiên bản JS khác đang tàn phá trên trình duyệt cụ thể này mà tôi cần tìm.
bạn đã thử '$ (tài liệu) .height()'? –
@gaby tạo ra một giá trị cao hơn một chút so với '$ ('body'). Height()' –
hmm .. phải là paddings ... xem tại http://james.padolsey.com/javascript/get-document -trình duyệt chéo/cũng như ... (* chỉ trong trường hợp *) –