Как Вы получаете масштаб области просмотра после повышения/масштабирования на веб-приложении iPhone?

Кто-либо знает, как получить размер в пикселях или значении масштаба области просмотра после того, как пользователь зажал или дважды коснулся к увеличению / на странице в JavaScript?

Я попытался использовать window.innerWidth, но у меня были смешанные результаты. Иногда это, кажется, точно дает число пикселей, которые область просмотра показывает, однако, если я увеличу масштаб пути на странице и затем сделаю то большое повышение для уменьшения масштаба назад, window.innerWidth будет приблизительно 600-700 даже при том, что это только показывает ~200px страницы. Страница только 400 пкс шириной, и она не показала изменчивое, "Вы зашли слишком далеко" фон, который Вы видите, когда Вы уменьшаете масштаб вне размера страницы.

Если я делаю маленькие повышения для увеличения и уменьшения масштаба window.innerWidth, кажется, работает просто великолепно. К сожалению, я не могу полагаться на пользователя, только делающего маленькие жесты повышения :)

Я также попытался использовать свойство масштаба на объекте-событии жеста, но я нашел это ненадежным, потому что Вы не всегда знаете начальный масштаб, когда Вы перезагружаете страницу или используете назад/вперед кнопки для навигации к ней даже когда с помощью метатега для определения его.

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

Вот код, который я использую для получения innerWidth:

document.body.addEventListener('gestureend', function (evt) {
    console.log(window.innerWidth); // inaccurate when doing large pinch gestures
}, false);

Спасибо!

6
задан Loktar 14 August 2009 в 22:41
поделиться

1 ответ

Если вы пытаетесь ограничить только максимальный уровень масштабирования, вы можете использовать специфический для Safari тег управления viewport:

<meta name="viewport" content="maximum-scale=2.0">

Подробности смотрите в спецификации метатега viewport для мобильных устройств Safari viewport meta tag spec.

2
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: