Предотвращение задержек с помощью 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?
Ответы
Ответ 1
Пользовательский подход:
Включить поддержку метатега отображения в:
- переход на
chrome://flags
- нажмите включить "Включить метатег видовых экранов"
Программный подход
(как указано в комментариях выше):
- Слушайте
touchmove
события
- вызов
preventDefault
на них, если вы обнаружите два касания.
Примечание. Всегда предотвращение touchmove
приведет к прекращению работы прокрутки
Ответ 2
К сожалению, невозможно полностью блокировать, кажется.
Решение Matyas будет отлично работать до тех пор, пока вы не начнете использовать один палец для прокрутки, а затем поместите еще один палец вниз и зажмите для увеличения.
Вызов preventDefault в этом случае вызывает предупреждение: "Игнорированная попытка отменить событие touchmove с cancelable = false, например, потому что выполняется прокрутка и не может быть прервана".
И щепотка для увеличения не блокируется.
Кажется, это ошибка.