html - 如何禁用移动Safari上的所有缩放?
问题描述
我浏览了多个 StackOverflow 问题、多个网络教程,但没有一个有帮助。我正在开发一款网页游戏,但它根本不起作用。我没有尝试过任何 JS 解决方案,因为它们都需要 jQuery。在这一点上,我真的很沮丧,需要一个答案。
如何禁用所有缩放?不只是双击。不只是正常缩放。需要禁用所有缩放!
这是我尝试过的一些示例,但对我不起作用:
touch-action: ______;
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=___"/>
<meta name="viewport" content="width=device-width,user-scalable=___"/>
请帮忙!如果您有上述以外的其他答案,请告诉我!在这一点上我没有选择,需要一个解决方案!
解决方案
尝试这个
body {
touch-action: pan-x pan-y;
}
我知道的信息
- iOS Safari 自 iOS 10 起不再尊重
user-scalable=no
元标记 touch-action: pan-y
自iOS 13起受支持- 如果要在 iOS 10~12 之间禁用缩放,可以使用
preventDefault
,但效果不理想
document.addEventListener('touchstart', e => {
if (e.touches.lenght > 1) {
e.preventDefault()
}
}, {
passive: false
})
这仅在您同时用两根手指捏合时才有效,如果您先用一根手指移动然后用另一根手指捏合,则它会失败。
推荐阅读
- haskell - 具有/不具有显示约束的 GHCi 值的不同行为
- c++ - 自定义循环迭代器的 C++ 编译器优化问题
- angular - 使用 Visual Studio for Mac 在解决方案资源管理器中复制客户端文件
- android - 如何使用不同的包名实现 3rdParty 库
- powershell - 这段代码有效吗?
- python - pythonnet dll目录访问被拒绝
- android - Job Scheduler vs Runnable:缺点?
- python - python中的循环,定时器和线程
- amazon-web-services - boto3 和 Go aws SDK 以不同的方式生成预签名 URL?
- heroku - 部署到 Heroku 时出现 Webpack 错误(npm 退出状态 2)