Tôi giả sử bạn muốn biết chiều rộng khung nhìn với thanh cuộn đi kèm, bởi vì màn hình tự nó không có thanh cuộn. Trong thực tế, chiều rộng màn hình và độ phân giải sẽ là độ phân giải màn hình máy tính, vì vậy tôi không chắc chắn ý bạn là gì với chiều rộng màn hình với thanh cuộn.
Tuy nhiên, chế độ xem, khu vực chỉ có trang (và thanh cuộn) được hiển thị cho người dùng, nghĩa là không có menu trình duyệt, không có dấu trang hoặc bất kỳ thứ gì, chỉ hiển thị trang.
Giả sử bạn muốn điều đó, bạn có thể đo kích thước khung nhìn của trình duyệt của khách hàng trong khi tính đến kích thước của các thanh cuộn theo cách này.
Trước tiên, đừng quên đặt thẻ body của bạn thành 100% chiều rộng và chiều cao chỉ để đảm bảo đo lường chính xác.
body {
width: 100%;
// if you wish to also measure the height don't forget to also set it to 100% just like this one.
}
Sau đó, bạn có thể đo chiều rộng theo ý muốn.
mẫu
// First you forcibly request the scroll bars to be shown regardless if you they will be needed or not.
$('body').css('overflow', 'scroll');
// Viewport width with scroll bar.
var widthWithScrollBars = $(window).width();
// Now if you wish to know how many pixels the scroll bar actually has
// Set the overflow css property to forcibly hide the scroll bar.
$('body').css('overflow', 'hidden');
// Viewport width without scroll bar.
var widthNoScrollBars = $(window).width();
// Scroll bar size for this particular client browser
var scrollbarWidth = widthWithScrollBars - widthNoScrollBars;
// Set the overflow css property back to whatever value it had before running this code. (default is auto)
$('body').css('overflow', 'auto');
Hy vọng nó giúp.
Nguồn
2012-09-09 03:53:10
Tại sao bạn cần chiều rộng bằng thanh cuộn đi kèm? Chưa kể, một số trình duyệt có đường viền 1-4 pixel ở phía bên trái và bên phải của chế độ xem. Tôi thậm chí không hiểu tại sao mọi người sẽ cần 'outerWidth' và' outerHeight' ... – animuson
@animuson: Tôi đặt chiều rộng của một số thành phần động và tùy thuộc vào cách trình duyệt sẽ hiển thị bố cục (phiên bản, kích thước màn hình, v.v.), đôi khi có một thanh cuộn mà sau đó biến mất để lại cho tôi với một "bóng scrollbar" trên trang. Nó sẽ đơn giản hơn nhiều nếu tôi biết chiều rộng KHÔNG CÓ thanh cuộn trước thời hạn. – Goro
Xem thêm http://stackoverflow.com/q/8339377/1136253 –