捏缩放不适用于 Android Chrome 55。
更新 - 演示和测试页面也失败:
捏缩放不适用于带有 Chrome 55 的 Android 设备上的任何演示项目: https :
https://timmywil.github.io/jquery.panzoom/test/也失败了。
以上两个都在卸载 Chrome 更新的同一台设备上正常工作。
原始问题报告:
像#308 一样,我使用 jquery.panzoom 已经有一段时间了,它完美地工作。 Chrome 55 在 Android 上打破了它。 在我的情况下,平移很好,但捏缩放会导致平移和闪烁,但没有缩放。
如果我卸载 Chrome 的更新,问题就会消失。 问题在 IOS Safari 或旧版 Android Chrome 上不明显。
更新 - jquery.panzoom 3.2.2 有同样的问题,以及其他遏制问题。 捏缩放仅在 Android Chrome 55 上有问题。
我可以确认捏缩放在 chrome 55 中也完全停止工作。 我希望我有编码知识甚至可以尝试修复。
我也有同样的问题。 使用 3.2.2 但它似乎适用于某些设备而不适用于其他设备。 例如,三星在 Android 6.0.1 和 Chrome 55 上无法运行,而在 Nexus 设备上完全相同的 Android 和 Chrome 运行完美。
同样的问题在这里。 您可以在线查看ti。 选择第一个选项。 当图像加载时,双指缩放在移动设备中不起作用。
https://yagolopez.github.io/Webcams_de_Asturias/www/#/app/meteo
请尽快修复它。
更正:
使用最新版本的 jquery 和 panzoom 似乎可以应用此 hack:
https://github.com/timmywil/jquery.panzoom/issues/303#issuecomment -267853623
我想知道是否有人可以帮助我解决我的困境:我使用 2.0.5 版本已经两年了,它在我的移动网站和 phonegap 应用程序中完美运行。 唯一的问题是捏放大 Android Chrome 55
我可以通过注释掉 #303 中提到的行来在 3.2.2 版中进行缩放。 问题是 3.2.2 引入了大小和定位问题,并且 setMatrix() 添加了明显虚假的翻译。 这个系统有几个未解决的问题,并且多次尝试修复 3.2.2,但它似乎不如 2.0.5 稳定。 (仅 Chrome 55 问题除外。)
我已经尝试在 2.0.5 中将 event.pageX 替换为 event.originalEvent.pageX 并将 event.pageY 替换为 event.originalEvent.pageY(正如 bodgybrothers 在 3.2.2 版的 #303 中建议的那样),但它没有修复它,我没有能力进一步尝试让 2.0.5 在 Android Chrome 55 上使用捏合缩放。
我最好的结果是 2.x 得到修复,但我不知道它是否仍在积极开发中。 在没有针对 2.x 的修复程序的情况下,看起来我唯一的选择是等待 3.x(4?)的新版本,该版本缺少人们提交更改的定位问题。
任何好心人都可以添加任何想法或信息来帮助我做出决定吗?
干杯
约翰
通过更新到 3.2.2 版,我也遇到了定位问题。
我通过向缩放容器添加高度和宽度来对其进行排序。
对我来说这有效。
position:relative;
height:100%;
transform:matrix(1, 0, 0, 1, 0, 0);
transform-origin: 50% 50% 0;
Chrome 55 似乎同时触发了触摸和指针事件。 对我有用的一个丑陋的修复方法是删除 pointerdown 侦听器。 所以第 940 行变为:
var str_down;
if (getChromeVersion() >= 55 && 'ontouchstart' in window) {
str_down = 'mousedown' + ns + ' MSPointerDown' + ns;
}
else {
str_down = 'mousedown' + ns + ' pointerdown' + ns + ' MSPointerDown' + ns;
}
有关 getChromeVersion() impl,请参阅http://stackoverflow.com/a/4900484/424563 。
用最新的 jQuery 测试。
@dagged :谢谢,但我发现 Chrome 55 上的捏合缩放在 Panzoom 3.2.2 上运行良好,并在 #303 中进行了修复:
Had a quick hack in the code and commenting out line 1164:
this.panning = true;
我对 Panzoom 3.2.2 的问题是定位搞砸了,在我的应用程序中, @pravid建议的上述修复似乎没有解决(无论如何,谢谢你 pravid。)
@dagged
就我而言,#303 解决方法不适用于 android 6 三星 Galaxy S6。
你的解决方法很好用!!! 拯救我的日子。 谢谢!!!
@dagged你是救世主。 谢谢!!!
@nich008
2.0.5 错误是 window.PointerEvent 为 true。
所以隐藏第32-39行,第74行; 第 80 行 var pointerEvents = false;
使用触摸事件无指针
@chfeizy
乍一看,这似乎解决了它。 谢谢!!!
[编辑] 是的 - 它运行良好 - 谢谢。
重复 #303
@jcnventura :这个问题是在 Panzoom 2.0.5 版上提出的,所以严格来说并不是#303 的骗局。 请注意,chfeizy 的评论修复了版本 2.0.5 的问题,这使其成为比 3.2.2 更可靠的解决方案。
最有用的评论
Chrome 55 似乎同时触发了触摸和指针事件。 对我有用的一个丑陋的修复方法是删除 pointerdown 侦听器。 所以第 940 行变为:
有关 getChromeVersion() impl,请参阅http://stackoverflow.com/a/4900484/424563 。
用最新的 jQuery 测试。