Хотя window.screen.availWidth хорош для некоторых, он не решает основную проблему, заключающуюся в том, чтобы получить точное число правильной ширины браузера, и ненадежен, потому что вы никогда не знаете, будет ли кто-то запускать его. в окне меньше их экрана.
К сожалению, я не смог найти хороший способ получить его, поэтому вот немного хакерский способ сделать это, который работает для меня и может помочь другим:
CSS:
.no-scroll{ overflow:hidden; }
JS (при условии jQuery):
$('body').addClass('no-scroll');
var accurateWindowWidth = $(window).width();
$('body').removeClass('no-scroll');
По сути, вы прячете полосу прокрутки на долю секунды, пока вычисляете ширину страницы, не позволяя прокручивать страницу. Для меня это хорошо работает в Chrome, без заметного скачка, но, очевидно, ваш пробег может сильно зависеть на скорости вашей машины и прочее.