在移动网络上禁用捏缩放


76

我想在移动设备上禁用“缩放”功能。

我应该在视口中添加什么配置?

链接:http//play.mink7.com/n/dawn/


12
我希望您不要为英国组织创建网站-如果您这样做,则禁用捏缩放(实际上是可访问性功能)将使您违反积极歧视视力障碍者的几项法律...永远没有充分的理由禁用此功能...永远!
Mike Insch

17
并非总是一个坏主意。如果您要制作像网页这样的应用程序,那就是我会做的。您不能总是使用应用程序商店,所以这是下一件好事。
Shumii

11
请停止这样做。视障人士无法放大就无法浏览网站,这使我们的生活更加艰难。
杰克·马尔凯蒂

32
您能想象制作一个“ Google Maps”样式的应用程序,并且第一次捏放大时,您再也看不到“文本输入框”了吗?还是版权符号?有时,您不希望整个APP缩放。有时,您只希望IT部分进行缩放。
Ayelis 2015年

7
如果您正在设计响应式单页Web应用程序,则捏缩放(也称为自动缩放)确实会干扰工作流程,因为如果您不小心双击空白区域,浏览器会自动放大。
塔麦

Answers:


165

编辑:因为这一直得到评论,我们都知道我们不应该这样做。问题是我该怎么做,而不应该这样做。

将此添加到您的移动设备中。然后以百分比为单位的宽度,就可以了:

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

将其添加到也不能使用视口的设备中:

<meta name="HandheldFriendly" content="true" />

27
我加了。但我仍然可以捏和缩放。
Harsha MV

谢谢,我有一个默认的端口值。所以它被骑了
Harsha MV 2012年


3
@Shurane他们是不同的问题吗?
2013年

9
2019年:PWA成为现在的事情,这是防止PWA在移动设备上发生奇怪行为的解决方案:)
Jessy

12

这就是我所需要的:

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

11

对于每个说这是一个坏主意的人,我想说这并不总是一个坏主意。有时不得不缩小以查看所有内容非常无聊。例如,当您在iOS上输入内容时,它会缩放以使其位于屏幕中央。在此之后您必须缩小,因为关闭键盘无法完成工作。我也同意,当您花大量时间进行出色的布局和用户体验时,您不希望它被缩放弄乱。

但是另一种观点对视力障碍的人也很有价值。但是,我认为如果您的眼睛有问题,您已经在使用系统的缩放功能,因此无需打扰内容。


3
您应该将此作为评论。
Awesomeness01 2015年

2
抱歉,当时我的级别不允许我发表评论,而只能发布新消息,这就是原因。
Thibaut Rey 2015年

2
在表单元素上将字体大小设置为16px将阻止在iOS设备上缩放。
hellojebus 2015年

我可以告诉你你不五十多岁。对于我们中的许多人来说,并不是说我们的视力问题足够严重,以至于我们不得不使用特殊的调节器(甚至是老花镜),但在iPad上使用网页时,设计师认为非常适合自己的小字体,这是必须的。这样的页面告诉我“老人,我不在乎你是否能读懂”。
fool4jesus's

2
我是一个视力问题较老的人,但我完全明白为什么有时需要这样做。“网站”并不总是旨在供一般公众或社会的每个成员使用,就像强迫每个公民在其房屋中安装轮椅坡道和男女通用厕所块一样疯狂,因为“你知道的法律”。确保您是在提供公共访问权限或正在雇用人员,那么这些考虑因素就会在体系结构中发挥作用。例如,单页网页应用游戏会因允许人们放大和缩小而毁于一旦。
不同步的2016年

11

这将防止用户在ios Safari中进行任何缩放操作,并且还会阻止“缩放至标签页”功能:

document.addEventListener('gesturestart', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gesturechange', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gestureend', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

jsfiddle:https ://jsfiddle.net/vo0aqj4y/11/


这适用于macOS Safari,document.body.style.zoom = 0.99;甚至没有必要。
凯文·巴拉贡纳



3

这里找到您可以使用user-scalable=no

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


0

尝试使用min-width属性。让我解释一下。假设设备的屏幕宽度为400px(对于一个实例)。放大时,字体会越来越大。但是box和div保持相同的宽度。如果使用最小宽度,则可以避免减小div和box。


0

不确定这是否有帮助,但是我使用了角度锤模块解决了缩小/缩放问题(我想避免用户对我的webapp进行缩放):

在我的app.component.html中,添加了:

<div id="app" (pinchin)="pinchin();">

在我的app.component.ts中:

  pinchin() {
      //console.log('pinch in');
  }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.