缩小/展开触摸缩放—如何避免创建“缩放陷阱”?

时间:2018-08-11 18:30:36

标签: javascript html mobile touch

我有一个桌面网络应用程序(skyviewcafe.com),我正在尝试使其更加适合移动设备使用。作为该过程的第一步,我制作了星图并将其设置为可触摸拖动,并通过触摸手势查看了可拖动和缩放的行星轨道。

但是,我想这是一个有趣的问题,我想以前一定已经发生在其他人身上:可以使用移动Web浏览器的默认平移和缩放行为来移动我的网页,直到视图中唯一的组件本身使用preventDefault接管触摸手势。

一旦发生这种情况,就无法缩小并重新显示整个网页。我的组件吸收了所有缩小/展开缩放。由于缺乏更好的用语,我称其为“缩放陷阱”。我试图在网上搜索有关此问题的任何讨论,但找不到匹配任何内容的正确词。

我想出了一个临时解决方案,目前已部署在http://test.skyviewcafe.com上。如果我处于“缩放陷阱”中,则可以用三根手指触摸屏幕,然后出现一个半透明的灰色面板,以阻止触摸手势进入触摸式画布。然后,正常的默认Web浏览器将可以平移和缩放,并且用户可以缩小。之后,再次用三根手指触摸即可清除灰色面板。

虽然这以某种方式解决了问题,但它不是一种众所周知的标准手势,并且很难提供足够的屏幕提示以使必要的手势清晰可见。

理想情况下,我希望能够通过缩小网页来响应两次双击等标准手势,但是据我所知,除了加载网页时的初始缩放系数外,浏览器缩放不是Web应用程序可以动态控制的。

还有其他人遇到这个问题吗?是否有用于处理此问题的标准触摸手势?我还没有发现JavaScript中可以动态控制移动网络浏览器缩放的方法吗?

0 个答案:

没有答案