Запретить масштабирование в Safari для OSX
У меня есть приложение html5 с несколькими областями просмотра. Я намерен использовать HammerJS для предоставления жеста пинч / зум в отдельных окнах просмотра. В настоящее время всякий раз, когда я зажимаю в Safari/OSX, все окно увеличивается или уменьшается, и я хочу предотвратить это. Для iOS это работает:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
Но это не мешает увеличению OSX. Есть ли другие мета, css3 или javascript, которые работают в Safari/OSX?
1 ответ
Решение
Начиная с Safari 10.1+, вы можете подключиться к GestureEvent
на macOS/OSX.
window.addEventListener('gesturestart', e => e.preventDefault());
window.addEventListener('gesturechange', e => e.preventDefault());
window.addEventListener('gestureend', e => e.preventDefault());
Вышеуказанное предотвратит срабатывание любого жеста (например, масштабирование). Вы также можете обрабатывать эти события, подключаясь к значениям масштаба и поворота.