Подтвердить что ты не робот

Предотвращение задержек с помощью Google Chrome

Я разрабатываю приложение для Chrome на Microsoft Surface Pro 2 под управлением Windows 8.1. Недавно команда Chromium решила, что хочет добавить жест сжимать-увеличить, в Chrome для Windows 8, и это все и хорошо. Тем не менее, они не добавили флаг, чтобы отключить это поведение в настройках Chrome для тех немногих из нас, которые не хотят использовать функции щепотки для увеличения.

Теперь мне остается отключить поведение браузера по умолчанию другими способами. Первое, что я пробовал, это добавить этот метатег:

<meta name="viewport" content="width=device-width, initial-scale=1.5, maximum-scale=1.5, user-scalable=no" />

Это не имело никакого эффекта. Я также пытаюсь использовать hammer.js сенсорную библиотеку, чтобы отключить поведение с ограниченным успехом; зажатие достаточно быстро, но увеличивает масштаб страницы.

Кто-нибудь знает об эффективном способе отключения поведения "щепотка" для увеличения в Chrome для Windows 8.1?

4b9b3361

Ответ 1

Пользовательский подход:

Включить поддержку метатега отображения в:

  • переход на chrome://flags
  • нажмите включить "Включить метатег видовых экранов"

Программный подход

(как указано в комментариях выше):

  • Слушайте touchmove события
  • вызов preventDefault на них, если вы обнаружите два касания.

Примечание. Всегда предотвращение touchmove приведет к прекращению работы прокрутки

Ответ 2

К сожалению, невозможно полностью блокировать, кажется.

Решение Matyas будет отлично работать до тех пор, пока вы не начнете использовать один палец для прокрутки, а затем поместите еще один палец вниз и зажмите для увеличения.

Вызов preventDefault в этом случае вызывает предупреждение: "Игнорированная попытка отменить событие touchmove с cancelable = false, например, потому что выполняется прокрутка и не может быть прервана".

И щепотка для увеличения не блокируется.

Кажется, это ошибка.