【问题标题】:Can't disable pinch zoom (and double tap) zooming on a web app in iOS Safai无法在 iOS Safai 中的 Web 应用程序上禁用捏合缩放(和双击)缩放
【发布时间】:2015-10-07 09:25:29
【问题描述】:

我正在尝试在 Web 应用上禁用双指缩放,但以下元标记在 iOS Safari 和 iOS Chrome 中的效果为零:

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

我尝试将以下内容添加到元标记中,但我也没有成功。捏(和双击)缩放仍然启用。

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

了解为什么这两个元标记可能不起作用?

【问题讨论】:

  • 你是在做一些跨平台(cordova、react native 等)还是只是做一个默认的网络应用?

标签: ios web-applications zooming pinch


【解决方案1】:

对我来说,以下元标记在这两种情况下都有效

这适用于cordova/Ionic 项目,它会禁用普通页面上的双击/捏合

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

我在 iOS safari 中使用 jquery/bootstrap 打开一个简单的页面,这也禁用了双击/捏缩放

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

如果您没有尝试过,您可以检查此代码: https://stackoverflow.com/a/11689448/4557505

另外请提供有关您的网络应用程序的一些详细信息,它是默认网络应用程序(如 html5/responsive),还是您使用任何跨平台(如cordova/Ionic),这将有助于检查具体情况

【讨论】:

    【解决方案2】:
     a {touch-action: manipulation;} button {touch-action: manipulation;}
    
     document.documentElement.addEventListener('gesturestart', function (event)
     {    event.preventDefault();
    }, false);
    

    这在 safari 浏览器上完美运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 2016-11-25
      • 2018-06-22
      • 2012-05-07
      • 2018-02-20
      相关资源
      最近更新 更多