防止在 OSX 的 Safari 中捏/缩放

Jai*_*ime 5 javascript safari macos gesture hammer.js

我有一个带有多个视口的 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">
Run Code Online (Sandbox Code Playgroud)

但这并不能阻止在 OSX 中放大。是否有其他元、css3 或 javascript 可以在 Safari/OSX 中运行?

gpm*_*dam 5

从 Safari 10.1+ 开始,您可以连接到GestureEventmacOS/OSX 上的Safari 。

window.addEventListener('gesturestart', e => e.preventDefault());
window.addEventListener('gesturechange', e => e.preventDefault());
window.addEventListener('gestureend', e => e.preventDefault());
Run Code Online (Sandbox Code Playgroud)

以上将防止任何手势触发(例如捏缩放)。您还可以处理这些事件,挂钩缩放和旋转值。