我在火车站的公共场所和机场有一个售货亭。
随机用户需要使用在Google Chrome上运行的触摸屏应用程序。当用户在Google Chrome上应用unpinch或pinch操作时 然后谷歌浏览器使屏幕异常放大并让屏幕永远放大,然后我接到电话说我的应用程序不起作用。
在过去的Google Chrome浏览器中使用chrome://flags/#enable-pinch
能够扼杀这一点,但现在在新版本中,他们也删除了该功能以及其中任何一个选项都不再像过去那样用``ofChrome://标志/#启用-pinch`
chrome://flags/#touch-events
- 如果我禁用此功能,则会禁用Google Chrome上的整个触控输入
<meta name="viewport" content="width=device-width, user-scalable=no">
- 如果我应用它,它对Google Chrome没有任何影响,仍会发生捏合/解除攻击
因此,我一直在尝试所有其他可能的解决方法
我把所有的头发拉出来因为所有选项都失败了。
任何人都可以建议如何解决它?如何在Google Chrome或整个操作系统上完全禁用捏合/解锁?我也尝试过控制面板,但是控制面板都没有显示禁用捏合/解锁攻击的选项。
// Dear God, please give me a Pinch disable option for, Google chrome. Its a nightmare, nothing stops pinch zoom actions.
window.addEventListener("touchstart", touchHandler, false);
function touchHandler(event){
if(event.touches.length > 1){
console.log("pinch "); // detected
window.location.reload();// detected
try {
event.preventDefault(); // FAIL FAIL FAIL FAILLLLLLLL ???????????
return false;
}catch(eee) {
}
}
else {
console.log("pinch not");//detected
}
}
答案 0 :(得分:3)
答案: 2018
我一直在尝试使用自助服务终端应用程序来解决同样的问题。我已经尝试了元标记和触摸事件,但是应用程序方面的任何内容都不适用于我。
最后我找到的解决方案是在Kiosk模式下启动Chrome时禁用命令行的压缩
以下是一个例子:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen --kiosk
--disable-pinch http://127.0.0.1:1000
答案 1 :(得分:2)
我想我对您来说有点晚了,但是对于接下来通过google找到它的人来说,解决方案实际上非常简单,只需使用纯CSS
。
您要查找的属性是touch-action
,如MDN所述:
touch-action CSS属性指定是否以及以什么方式 用户可以通过触摸屏来操作给定区域(对于 例如,通过平移或缩放浏览器中内置的功能)
禁用所有缩放功能的基本解决方案是将以下代码段放置在CSS
中。
body {
touch-action: none;
}
还有其他选项,例如pan-x
,pan-left
,pan-right
,pan-y
,pan-up
,pan-down
,pinch-zoom
在https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action上查看完整文档