Получение ширины браузера Chrome (IGNORING Scrollbars) - PullRequest
3 голосов
/ 08 июля 2011

Мне нужна ширина окна браузера Chrome и мой текущий код:

$("input#myHiddenValue").val($(window).width());

Я называю это со страницы с полосой прокрутки, но мне нужно, чтобы она была на всю ширину браузера Chrome без полосы прокрутки.

Может кто-нибудь помочь?

Ответы [ 4 ]

3 голосов
/ 08 июля 2011

Проверить:

window.screen.availWidth

Я нашел это в документе: Возвращает количество горизонтального пространства в пикселях, доступных для окна.

И это больше, чем мой?this.width`.

0 голосов
/ 11 декабря 2013

Хотя window.screen.availWidth хорош для некоторых, он не решает основную проблему, заключающуюся в том, чтобы получить точное число правильной ширины браузера, и ненадежен, потому что вы никогда не знаете, будет ли кто-то запускать его. в окне меньше их экрана.

К сожалению, я не смог найти хороший способ получить его, поэтому вот немного хакерский способ сделать это, который работает для меня и может помочь другим:

CSS:

.no-scroll{ overflow:hidden; }

JS (при условии jQuery):

$('body').addClass('no-scroll');
var accurateWindowWidth = $(window).width();
$('body').removeClass('no-scroll');

По сути, вы прячете полосу прокрутки на долю секунды, пока вычисляете ширину страницы, не позволяя прокручивать страницу. Для меня это хорошо работает в Chrome, без заметного скачка, но, очевидно, ваш пробег может сильно зависеть на скорости вашей машины и прочее.

0 голосов
/ 08 июля 2011

попробуйте

$("input#myHiddenValue").val($(body).width());
0 голосов
/ 08 июля 2011

Разве вы не можете просто добавить 15px, чтобы сделать это правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...