防止在 OSX 的 Safari 中捏/缩放 [英] Prevent pinch/zoom in Safari for OSX

查看:46
本文介绍了防止在 OSX 的 Safari 中捏/缩放的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有多个视口的 html5 应用程序.我打算使用 HammerJS 在单个视口上提供捏/缩放手势.目前,每当我在 Safari/OSX 中捏合时,整个窗口都会放大或缩小,我想防止这种情况发生.对于 iOS,这有效:

I have a html5 application with several viewports. I intend to use HammerJS for providing pinch/zoom gesture on individual viewports. Currently, whenever I pinch in Safari/OSX, the whole window is zoomed in or out, and I want to prevent that. For iOS this works:

<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 中运行?

But it doesn't prevent zooming in OSX. Is there any other meta, css3 or javascript that works in Safari/OSX?

推荐答案

自 Safari 10.1+ 起,您可以连接到 GestureEvent 在 macOS/OSX 上.

Since Safari 10.1+, you can hook into the GestureEvent on macOS/OSX.

window.addEventListener('gesturestart', e => e.preventDefault());
window.addEventListener('gesturechange', e => e.preventDefault());
window.addEventListener('gestureend', e => e.preventDefault());

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

The above will prevent any gesture from firing (e.g. pinch to zoom). You can also handle those events, hooking into scale and rotation values.

这篇关于防止在 OSX 的 Safari 中捏/缩放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆