Неверный window.innerWidth и window.innerHeight
Я столкнулся со странной ошибкой, которую мне трудно описать...
Я работаю над приложением HTML5 Canvas, когда оно начинает странно себя вести, когда его подают из моего localhost
сервер. Я обнаружил, что window.innerWidth
а также window.innerHeight
неожиданно сообщалось неправильно в Firefox и Chrome. Внутренняя ширина должна быть 1366 на этой машине, но сообщается в 1525 в Firefox и 2048 в Chrome.
Я подумал, что это может быть странный сбой в моем JavaScript, но я обнаружил, что это теперь влияет на все страницы, просматриваемые с localhost
и возиться с CSS в некоторых старых приложениях.
Странно то, что при просмотре с 127.0.0.1
, Мы также обнаружили, что такая же проблема возникает, когда мой начальник просматривает приложение, когда оно обслуживается из общедоступной папки Dropbox и просматривается на его компьютере в Firefox (Chrome работает нормально). Подается локально на этом компьютере не показывает никаких проблем, однако.
Это меня полностью поставило в тупик. Я надеюсь, что у кого-то есть идея возможной причины или способа отследить проблему, поскольку мы не можем допустить, чтобы это произошло с клиентами, использующими приложение.
Изменить: еще несколько чисел
window.innerWidth: 2048
window.outerWidth: 1366
screen.width: 1366
window.screen.availWidth: 1366
Внутренняя ширина является единственной ошибкой, и она не связана с содержимым страницы, так как эти значения остаются неизменными даже при открытии пустых файлов.
2 ответа
Следует иметь в виду, что недавно я столкнулся с тем, что innerWidth зависит от параметра масштабирования в окне браузера. И, например, для Chrome это иногда сохраняется для определенных URL-адресов. Итак, у меня был случай, когда для URL-адреса локального хоста это было 100%, а для производственного URL-адреса - 125%, что меня смущало. Возможно, проверьте настройки масштабирования в браузере.
Можете ли вы использовать следующий код
var screen = {width:$(window).width(), height:$(window).height()};