我确实想要禁用缩放以放大我的网页(iframe)并使用手指捏合事件进行其他自定义互动。因此,虽然Safari的documentation表示它支持以下条款:
<meta name="viewport" content="width=device-width, user-scalable=no" />
......在实践中,Safari并不尊重它。
防止视口缩放的能力通常对于网络游戏体验以及围绕按钮,输入框和幻灯片输入/输出类型的界面,甚至视频的更紧密的用户体验非常重要,同时它仍然是低视力的良好默认值读者。 iOS Safari上还有一个精简的reader
模式,可以提供具有所需辅助功能的整洁阅读。
恕我直言,在每个网络用例上应用针对低视力读者的可访问性原则是严苛的。可以使用passive
事件监听器来修复缩放缩放,但为了卫生,问题是:是否有一种非黑客的方法呢?
在W3C / WCAG团队的recent discussion中,澄清了(强调我的)可访问性指南仅指定...
不应该是规范中的作者一致性要求 自2016年以来arronei / html @ 877b59c。这是作者的一致性 仅限要求,不禁止使用但确实要求作者 认真考虑削减用户缩放的能力。什么 苹果在safari中所做的事情超出了这个问题的范围 不需要任何浏览器实现者。
随着iOS Safari的最新变化,Apple似乎已将可访问性指南倾向于CANNOT author conformance
要求,而不是出于他们所知的原因。重要的是,在此处突出显示规范和实现之间的差异以供记录。
在与Apple iOS Safari团队讨论后,我们向webkit提交了一个针对此一致性问题的错误here。
答案 0 :(得分:4)
您可以在touch-action: none
选择器上使用html, body
:https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action#none
https://github.com/msand/InfiniDraw/commit/b96aac5f8313f56da7be6f9e9f24648ab02fc444
答案 1 :(得分:1)
来自How do you disable viewport zooming on Mobile Safari?
尝试在head-tag中添加以下内容:
<meta name="viewport" content="width=device-width, initial-scale=1.0,
minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
此外
<meta name="HandheldFriendly" content="true">
最后,无论是作为样式属性还是在css文件中,为基于webkit的浏览器添加以下文本:
html {
-webkit-text-size-adjust: none
}
答案 2 :(得分:1)
虽然没有一种非黑客方法可以阻止pinchzoom
,但仍然存在适用于iOS 11.3 Safari的黑客攻击。至少现在(是。请参阅inobounce,它可以在一次扫描中处理橡皮筋行为和pinchzoom。