Окно мобильного Safari сообщает 980px - PullRequest
10 голосов
/ 01 апреля 2011

Почему этот отчет 980 на iPhone 4?Я думал, что это будет 960 или 640.

alert($(window).width());

Ответы [ 3 ]

19 голосов
/ 01 апреля 2011

Вы получаете настройку видового экрана по умолчанию. Смотрите Документы Apple iOS - метатег и ищите «viewport».

Имущество Описание

width Ширина области просмотра в пикселях. По умолчанию 980. Диапазон составляет от 200 до 10000. Вы также можете установить это свойство для констант, описанных в «число». Доступно в iOS 1.0 и более поздних версиях.

Чтобы получить ширину устройства согласно документам:

Например, чтобы установить ширину области просмотра равной ширине устройства, добавьте это в файл HTML:

<meta name="viewport" content="width=device-width" />
0 голосов
/ 14 марта 2016

В safari по умолчанию ширина окна составляет 980px, поэтому, если ваш javascript начнет выполняться до загрузки окна, ширина будет 980px, даже если ваш метатег viewport определяет ширину как «ширина устройства».

Если вы обнаружите, что добавление метатега <meta name="viewport" content="width=device-width" /> не решит вашу проблему, убедитесь, что ваш код Javascript выполняется только после загрузки окна.

В ванильном Javascript:

console.log(window.innerWidth) // might be the default width

window.onload= function () {
  console.log(window.innerWidth) // should now be device width
  //... your code here ...

}

В качестве альтернативы, если используется jQuery:

console.log(window.innerWidth) // might be the default width

$( document ).ready(function () {
  console.log(window.innerWidth) // should now be device width
  //... your code here ...
})
0 голосов
/ 01 апреля 2011

Вы пробовали следующее?

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