防止放大 ios 和 android 浏览器

Prevent zoom in ios and android browser

试图找到一种方法来阻止用户在最新的 ios 和 android 中放大网页。

我试过了:

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

...还有:

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

...和:

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

但它仍然可以缩放

还有其他解决方案吗?

谢谢

这实际上取决于您使用的浏览器版本,每个浏览器版本都有自己的 html 代码来限制缩放。

如果使用android2.2以下则完全不支持 Android 2.3.x/3.x:通过设置 user-scalable=no,您也可以自己禁用视口元标记的缩放。这可能是您的宽度选项无效的原因。要允许浏览器缩放您的内容,您需要设置 user-scalable=yes,然后要禁用缩放,您可以将最小和最大比例设置为相同的值,这样它就不会缩小或增大。玩弄初始比例,直到您的网站紧贴。

Android 4.x:与 2.3.x 相同的规则适用,除了最小和最大比例不再受尊重,如果您使用 user-scalable=yes 用户总是可以缩放,将其设置为'no' 表示您自己的比例被忽略,这就是我现在面临的问题,这让我想到了这个问题......您似乎无法在 4.x 中同时禁用缩放和缩放。

iOS/Safari(4.x/5.x 测试):缩放按预期工作,您可以使用 user-scalable=0 禁用缩放(关键字 yes/no 在4.x)。 iOS/Safari 也没有 target-densitydpi 的概念,所以你应该把它去掉以避免错误。您不需要 min 和 max,因为您可以按预期方式关闭缩放。只使用宽度,否则你会 运行 进入 iOS 方向错误

Chrome:比例像在 iOS 中一样按预期工作,最小值和最大值都有效,您可以使用 user-scalable=no 关闭缩放。 结论:在一些基本的 browser/device 检测之后,您可以使用一些相当简单的 JS 来相应地设置内容。我知道这种类型的检测是不受欢迎的,但在这种情况下,这几乎是不可避免的,因为每个供应商都在做自己的事情!希望这可以帮助人们解决视口问题,如果有人有在不使用视口的情况下禁用 Android 4.x 缩放的解决方案,请告诉我。
<meta name="viewport" content="initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,width=device-width,height=device-height,target-densitydpi=device-dpi,user-scalable=yes" />

Android 4.x Chrome 浏览器(我认为在大多数国家/地区预装):您可以确保用户无法缩放并且页面是全屏的。缺点:您必须确保内容具有固定宽度。我还没有在较低的 Android 版本上对此进行测试。为此,请参见示例:

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

iOS/Safari 8 Beta 4:有一个 meta 标记 minimal-ui 在 ios 7 版本中工作正常,但它现在已被 Apple 在此版本中删除。