我已经尝试了在互联网上能找到的所有方法(按住Shift并移动鼠标,按住Alt并移动鼠标),但都没有成功。在Google Chrome中是否有“本地”的方式来模拟捏合缩放手势呢?
顺便提一下,我正在使用MacOS版本的Google Chrome,版本号为59.0.3071.86。
Shift + 鼠标单击并拖动视口
对我有效。唯一的问题是touchstart
事件将返回1
作为originalEvent.touches
shift
+ 鼠标点击和拖动无法使用。对此有什么建议吗? - darKnight在Chrome v.71.x.x中,您可以按下开发工具的“切换设备工具栏”并在此后按住SHIFT并点击鼠标拖动来进行捏合缩放。
捏合手势在不同的浏览器中有不同的监听器,但有一个出色的轻量级库称为hammer.js可以在所有浏览器中轻松处理捏合、滑动等手势,遗憾的是它不支持桌面版Chrome,因此你无法轻松调试你的Web-Mobile代码。
在桌面版Chrome上使用hammer库时,Shift-Mouse点击和拖动也无法正常工作,它会激活hammer的Pan事件而不是pinch,并且只能工作一次!之后,当你通过视口移动鼠标时,它会不断调用Pan事件,这非常让人烦恼,使得调试变得不可能。
解决方法: 我所知道的唯一方便的方法是,在移动浏览器上测试手势,要么使用ios/osx设备上的Safari到Safari连接,要么使用android设备上的Chrome到Chrome连接。
我通常使用Chrome DevTools来调试我的JavaScript代码,但在Web-Mobile项目中,我使用Safari Web Inspector,因为我有一个iPhone和一台Mac!你也不能使用桌面版Chrome来调试你的iOS设备。
查看这篇文章,了解如何设置你的Safari Web Inspector。
注意:你需要使用USB电缆将iPhone连接到Mac,并在你的iPhone上启用Web Inspector(设置->Safari->高级->Web Inspector)。如果你无法在Safari中看到开发菜单,请前往首选项,在高级选项卡中勾选“在菜单栏中显示开发菜单”。其余内容在上述文章中有说明。
更新:
在Windows桌面版Safari上无法调试iOS设备。
针对此问题,另一种测试解决方案是使用Chrome手机模拟器+在0,0点虚拟第二个触摸点:
function handleTouchStart(e) {
var touches=e.targetTouches;
touches=
[
{
pageX:touches[0].pageX,
pageY:touches[0].pageY
},
{
pageX:0,
pageY:0
}
];
//now use the touches variable as the list of touches.
}
touch[start|move|end]
|| pointer[down|move|up]
事件处理程序。此外,伪点也不需要在 0,0
处,通过一些修改可以轻松设置替代位置。 - Andrew ScottSource: https://dev.to/dev0x0/using-google-chrome-console-on-any-mobile-device-9ec
在 Chrome 66 中,当处于设备模拟模式下时,双击并拖动上/下方向可以放大/缩小。
最后一个回答有五个负面评价,但我想说的是,安卓平台上最新的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">