这三种方法我都试过了,但都无济于事:

<meta name=”viewport” content=”width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;” />

<meta name=”viewport” content=”width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=false;” />

<meta name=”viewport” content=”width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;” />

每个是不同的值,我发现谷歌搜索或SO搜索推荐,但没有一个'user-scalable=X'值似乎是工作的

我还尝试用逗号来分隔值,而不是分号,运气不好。然后我尝试只呈现用户可扩展的价值,但仍然没有成功。


更新

从苹果的网站上得到了这个,它是有效的:

<meta name="viewport" content="width=device-width, user-scalable=no" />

事实证明,问题是不标准的引号,因为我从一个网站复制了元标签,正在使用他们,哎呀


当前回答

使用CSS的touch-action属性是最优雅的解决方案。在iOS 13.5和iOS 14上测试。

禁用缩放手势和双击缩放:

body {
  touch-action: pan-x pan-y;
}

如果你的应用程序也不需要平移,即滚动,使用这个:

body {
  touch-action: none;
}

其他回答

编辑:在ios10之后可能无法工作,请参阅下面基于触摸动作的解决方案。

您的代码将属性双引号显示为花哨的双引号。如果花哨的引号出现在您的实际源代码中,我猜这就是问题所在。

这对我来说在iOS 4.2的Mobile Safari上是有效的。

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

为了符合WAI WCAG 2.0 AA可访问性要求,您必须永远不要禁用缩放。(WCAG 2.0: SC 1.4.4 Resize text Level AA)。你可以在这里阅读更多关于它的内容:移动辅助功能:WCAG 2.0和其他W3C/WAI指南如何应用于移动,2.2缩放/放大

我愚蠢地设置了一个包装器div,其宽度以像素为单位。其他浏览器似乎足够聪明,可以处理这个问题。一旦我将宽度转换为百分比值,它在Safari手机上也能正常工作。很烦人。

.page{width: 960px;}

to

.page{width:93.75%}

<div id="divPage" class="page">
</div>

这个应该可以在iphone上运行。

<meta name="viewport" content="width=device-width, initial-scale=1 initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

对于寻找iOS 10解决方案的人来说,在iOS 10的Safari中,user-scaleable=no是禁用的。原因是苹果正试图通过允许人们放大网页来提高可访问性。

来自发行说明:

为了提高Safari网站的可访问性,用户现在可以 中设置了user-scalable=no时,也可以缩放 视窗。

所以据我所知,我们运气不好。