Кто-нибудь знает, как получить размер в пикселях или масштабное значение окна просмотра после того, как пользователь ущипнул или дважды нажал для увеличения/уменьшения масштаба на странице в JavaScript?Как вы можете получить масштаб видового экрана после зажима или увеличения на веб-приложении iPhone?
Я пробовал использовать window.innerWidth, но у меня были смешанные результаты. Иногда кажется, что точное количество пикселей отображается в окне просмотра, однако, если я увеличиваю масштаб изображения на странице, а затем сделаю большой щелчок, чтобы увеличить масштаб, window.innerWidth будет около 600-700, хотя это только показывая ~ 200px страницы. Эта страница имеет ширину всего 400 пикселей и не показывает, что вы выбрали «вы зашли слишком далеко», когда вы уменьшаете масштаб за пределы размера страницы.
Если я делаю небольшие защелки для увеличения и уменьшения, то window.innerWidth работает нормально. К сожалению, я не могу полагаться на пользователя, только делая небольшие жесты пинча :)
Я также попытался использовать свойство scale на объекте события жестов, но я обнаружил, что это ненадежно, потому что вы не всегда знаете начальную шкалу, когда вы перезагружаете страницу или используете кнопки «назад/вперед», чтобы перейти к ней даже при использовании метатега для ее указания.
В конечном счете, я пытаюсь создать приложение, которое знает, когда пользователь пытается уменьшить масштаб за пределами максимального уровня масштабирования, поэтому, если есть другой способ сделать это, мне интересно узнать об этом :)
Вот код, я использую, чтобы получить innerWidth:
document.body.addEventListener('gestureend', function (evt) {
console.log(window.innerWidth); // inaccurate when doing large pinch gestures
}, false);
Спасибо!