我正在为运行Windows 8.1的Microsoft Surface Pro 2上的Chrome开发应用程序。最近,Chromium团队决定在Chrome for Windows 8中添加捏合缩放手势,这一切都很好。但是,他们没有在Chrome的设置中添加一个标志来禁用此行为,因为我们这些人不想要缩放功能。
现在我试图通过其他方式禁用浏览器的默认行为。我尝试的第一件事就是添加这个元标记:
<meta name="viewport" content="width=device-width, initial-scale=1.5, maximum-scale=1.5, user-scalable=no" />
没有效果。我也一直在尝试使用hammer.js触摸库来禁用行为,但成功有限;捏得足够快仍然会缩放页面。
是否有人知道在Chrome for Windows 8.1上禁用缩放到缩放行为的有效方法?
答案 0 :(得分:7)
通过以下方式启用视口元标记支持:
chrome://flags
(如上文评论中所述):
touchmove
个活动preventDefault
。注意:始终阻止touchmove
会导致简单滚动停止工作
答案 1 :(得分:1)
不幸的是,它似乎不可能完全阻止。
Matyas的解决方案非常有效,直到您开始使用一根手指滚动,然后将另一根手指放下并捏缩放。
在这种情况下调用preventDefault会导致警告:“忽略尝试以cancelable = false取消touchmove事件,例如因为滚动正在进行且无法中断。”
并且不会阻止缩放。
这似乎是一个错误。