【问题标题】:How to simulate pinch zoom in Google Chrome?如何在 Google Chrome 中模拟捏缩放?
【发布时间】:2017-11-11 09:51:44
【问题描述】:

我正在为用 javascript 编写的移动应用程序开发捏缩放功能,我想在 Google Chrome 中使用移动设备模拟功能对此进行测试。但我找不到测试捏合手势的方法。

我尝试了所有可以在互联网上找到的方法(按 Shift 并移动鼠标,按 Alt 并移动鼠标),但都没有奏效。 Google Chrome 中是否有“原生”方式来模拟捏缩放手势?

顺便说一句,我使用的是 MacOs 版本的 Google Chrome 版本 59.0.3071.86

【问题讨论】:

    标签: google-chrome google-chrome-devtools


    【解决方案1】:

    Shift + 鼠标点击并拖过视口

    为我工作。唯一的问题是touchstart 事件将为originalEvent.touches 返回1

    【讨论】:

    • 这在 Chrome 72 上不适合我。有什么变化吗?
    • @nnyby 这很奇怪,它在 Windows 10 上的 Chrome 72 上为我工作。
    • @vsync : shift + 鼠标点击和拖动在 Apple Macbook Pro 的触控板上不起作用。对此有何建议?
    • @vsync:该指南似乎适用于旧版 Chrome,因为我看不到最新版 Chrome 中提供的选项。
    • 它不像人们打算使用的那样工作,shift 点击仅模拟文档缩放手势。这意味着它不能使用自定义 JavaScript 来检测缩放缩放,例如,WebGL 画布或特定 DOM 元素或在前端项目中实现手势的任何其他非标准方式。
    【解决方案2】:

    在 Chrome v.71.x.x 上,您可以在开发工具中按“切换设备工具栏”并按住 SHIFT 并单击并拖动鼠标后进行缩放。

    【讨论】:

      【解决方案3】:

      捏手势在不同的浏览器中有不同的监听器,但是有一个出色的轻量级库,名为hammer.js,它可以处理捏、滑动和....在所有浏览器中都非常简单和精细,不幸的是它不支持桌面 Chrome,所以无法轻松调试您的网络移动代码,

      Shift-Mouse click&draging 在桌面 Chrome 上使用锤子库也不能正常工作,它会激活锤子的 Pan 事件而不是 pinch 并且只工作一次!之后,当你在视口中移动鼠标时它会不断调用 Pan 事件,即很烦人,无法调试。

      解决方案: 据我所知,在移动浏览器上测试手势的唯一便捷方法是在 ios/osx 设备上使用 Safari 到 Safari 连接,或者在 Android 设备上使用 Chrome 到 Chrome 连接。

      我曾经使用 Chrome DevTools 调试我的 JavaScript 代码,但在网络移动项目中我使用 Safari Web Inspector,因为我有 iPhone 和 Mac!。您也无法使用桌面 Chrome 调试您的 ios 设备。

      查看article,了解如何设置 Safari Web Inspector。

      注意:您需要使用 USB 电缆将您的 iphone 连接到您的 Mac,并在您的 iphone 上启用 Web Inspector(设置-> Safari -> 高级 -> Web Inspector)如果您无法在 Safari 上查看 开发 菜单,转到首选项并在高级选项卡中选中“在菜单栏中显示开发菜单”。其余的在上述文章中进行了解释。

      更新

      无法在 Windows 桌面 Safari 上调试 ios 设备。

      【讨论】:

      • @Phil 完全同意
      【解决方案4】:

      在 Chrome 66 上,在设备模拟模式下,双击并向上/向下拖动可缩小/缩小。

      【讨论】:

        【解决方案5】:

        如果您手头有移动设备,则可以将该设备连接到您的桌面计算机,并使用远程设备功能在桌面上调试您的手机。

        对于安卓:

        1. 启用开发者模式和 USB 调试。

        2. 在您的桌面上转到 DevTools 并单击三点菜单下的更多工具 > 远程设备

        3. 选中发现 USB 设备选项。您会在手机上看到一个授权弹出窗口。允许并继续。

        4. 在手机上打开 Chrome,您应该能够检查手机上的所有标签。作为奖励,您可以使用端口转发将您的桌面本地主机转发到设备的本地主机,因此如果您在桌面上运行开发应用程序,您可以在移动设备上对其进行调试。

        对于 iPhone: 我对这里的细节不太熟悉,因为我自己无法尝试,但我相信你可以通过chrome://inspect 启用它并开始记录。

        来源: https://dev.to/dev0x0/using-google-chrome-console-on-any-mobile-device-9ec

        【讨论】:

          【解决方案6】:

          对此进行测试的另一种解决方案。使用 chrome 手机模拟器 + 在 0,0 点假装第二次触摸:

          function handleTouchStart(e) {
              var touches=e.targetTouches;
              touches=[{pageX:touches[0].pageX,pageY:touches[0].pageY},{pageX:0,pageY:0}]; //Comment this line out for production
              //now use the touches variable as the list of touches.
          

          【讨论】:

          • 这是一个不错且简单的想法,尤其是如果您使用自己的库来控制touch[start|move|end] || pointer[down|move|up] 事件处理程序。另外,伪点也不需要位于0,0,通过一些修改来设置替代位置是微不足道的。
          【解决方案7】:

          这可能不是开发人员的答案。我一直有放大网页的问题。然后页面被打破。许多网页不支持正常缩放。 Mouse Pinch-To-Zoom 可用于一般网页。

          【讨论】:

          • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 link-only-answers
          【解决方案8】:

          最后一个答案有五票反对,但我想说的是Android平台上最新的chrome浏览器(78)不具备缩放功能。您对视口的理解可能存在一些问题。视口的比例是pinchzoom。如果你这样设置,你的网页无法触发pinchzoom。

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

          您可以在您的网页中设置这种方式

          <meta name="viewport" content="initial-scale=1, maximum-scale=5, minimum-scale=1, user-scalable=yes">
          

          其他答案已经说过捏缩放的快捷方式。

          【讨论】:

            【解决方案9】:

            在 Mac OS 中,您可以在触摸板上使用两根手指来模拟捏合缩放。

            也许检查元标记中的视口设置:

            &lt;meta name="viewport" content="initial-scale=1"&gt;

            在视口元标记中添加maximum-scale 可能会影响缩放:

            &lt;meta name="viewport" content="initial-scale=1, maximum-scale=1"&gt;

            可能会给您带来麻烦。

            您还应该能够使用开发者工具页面顶部的缩放百分比进行缩放:

            【讨论】:

            • 我不想缩放网站,我想测试移动设备的两指捏合缩放手势。
            猜你喜欢
            • 2012-04-18
            • 1970-01-01
            • 2014-10-24
            • 2018-12-26
            • 1970-01-01
            • 2014-02-28
            • 2012-03-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多