Javascript 按压/展开触摸缩放—;如何避免创建“;缩放陷阱”;?

Javascript 按压/展开触摸缩放—;如何避免创建“;缩放陷阱”;?,javascript,html,mobile,touch,Javascript,Html,Mobile,Touch,我有一个桌面web应用程序(skyviewcafe.com),我正试图让它更便于移动。作为这一过程的一步,我制作了一张星图,让它可以触摸拖动,还可以通过触摸手势查看行星的轨道,既可以拖动也可以缩放 但我想有一个有趣的问题以前肯定发生在其他人身上:可以使用移动web浏览器的默认平移和缩放行为来移动我的网页,直到看到的只有一个组件本身使用preventDefault接管触摸手势 一旦发生这种情况,就不可能缩小并重新显示整个网页。所有的收缩/扩散缩放都被我的组件吸入。由于没有更好的术语,我称之为“缩放

我有一个桌面web应用程序(skyviewcafe.com),我正试图让它更便于移动。作为这一过程的一步,我制作了一张星图,让它可以触摸拖动,还可以通过触摸手势查看行星的轨道,既可以拖动也可以缩放

但我想有一个有趣的问题以前肯定发生在其他人身上:可以使用移动web浏览器的默认平移和缩放行为来移动我的网页,直到看到的只有一个组件本身使用
preventDefault
接管触摸手势

一旦发生这种情况,就不可能缩小并重新显示整个网页。所有的收缩/扩散缩放都被我的组件吸入。由于没有更好的术语,我称之为“缩放陷阱”。我试图在网上搜索关于这个问题的任何讨论,但找不到合适的词来匹配任何内容

我提出了一个临时解决方案,目前部署在。如果我处于“缩放陷阱”中,我可以用三个手指触摸屏幕,然后会出现一个半透明的灰色面板,阻止触摸手势到达触摸响应画布。正常的默认web浏览器平移和缩放再次成为可能,用户可以缩小。之后,再次用三个手指触摸,可以清除灰色面板的障碍

虽然这在某种程度上解决了问题,但这并不是一个标准的众所周知的手势,而且很难在屏幕上提供足够的提示来清楚地显示必要的手势

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

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