【发布时间】:2018-02-03 09:05:00
【问题描述】:
我遇到了缩放问题。我想阻止捏合以放大 HTML 元素上的 Mobile Safari。我使用脚本来防止浏览器的默认行为,它在正常捏合时工作正常,但是当我用一根手指开始滚动并稍后添加第二个并捏合时,Safari 仍在缩放页面......
有人知道如何阻止这种缩放吗?
我正在使用画布创建手机游戏,并将 HTML 用于消息窗口,所以请不要写到出于可访问性原因阻止缩放是一个坏主意。
防止缩放的代码:
document.addEventListener("touchmove", function(event) {
event = event.originalEvent || event;
if(event.touches.length > 1 || event.scale > 1) {
event.preventDefault();
}
}, false);
更新:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
此元标记不起作用,因为 Apple 从 iOS 10 开始在 Mobile Safari 中禁用它,直到可访问性原因
【问题讨论】:
-
你的元视口命令中有
user-scalable=no之类的东西吗? -
Apple 出于可访问性原因在 iOS 10 中禁用 user-scalable=no
-
我不知道。对不起。但感谢您提及这一点。
-
@PawełGawlas “可访问性原因”也是减少 HTML5 网页应用程序以提供“本机应用程序”感觉的好借口,请记住,如果您可以将应用程序作为网页发布,Apply 不会赚钱,而不是 AppStore-Item。
标签: javascript ios mobile-safari dom-events