winox
@winox

Как правильно сделать изменение scale страницы с помощью pinch-а?

Очень давно мучаюсь с вопросом.
Нужно сделать zoom страницы(изменяя initial-scale страницы) с помощью pinch-а в мобильных браузерах.
Евент pinch я успешно отловил и врубил preventDefault(), initial-scale в теге meta изменил.
Если код упросить до сути то получается:
el.addEventListener('touchmove', function (e) {
 e.preventDefault();
//всякие вычисления и проверки
document.getElementById('viewport').setAttribute('content', 'width=device-width, user-scalable=no, maximum-scale=1, initial-scale=' + zoom);
})

Код отрабатывает как надо, с помощью пинча меняется маштаб страницы и всё хорошо.
Но в safari в ipad при уменьшении initial-scale остается в области видимости только часть страницы и чтобы увидеть остальную часть страницы нужно её "скролить". Такая же проблема и в других браузерах(FF, Chrome), но проявляется она через раз. Обгуглил весь гугл и всё без толку.
Пытался эмулировать двойной tap по body - не помогает.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект