【发布时间】:2018-09-01 12:33:56
【问题描述】:
我在火车站公共场所和机场都有一个售货亭。
随机人需要使用在谷歌浏览器上运行的触摸屏应用程序。当用户在 Google chrome 上应用 unpinch 或 pinch 操作时 然后谷歌浏览器异常放大屏幕并让屏幕永远放大,然后我接到电话说我的应用程序不起作用。
在过去使用 chrome://flags/#enable-pinch 谷歌浏览器能够消除压力,但现在在新版本中,他们删除了该功能,还遵循选项,它们都不再像过去使用``chrome://flags/ 那样工作了#enable-pinch`
chrome://flags/#touch-events - 如果我禁用它,它会禁用谷歌浏览器上的整个触摸输入
<meta name="viewport" content="width=device-width, user-scalable=no"> - 如果我应用它,它对谷歌浏览器没有影响,仍然会发生捏/松开攻击
因此,我一直在尝试所有其他可能的方法来解决它
因为所有选项都失败了,所以我把头发都拉出来了。
谁能告诉我如何解决它?如何在 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
}
}
【问题讨论】:
-
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' />可以工作吗? -
那也行不通,仍然捏,松开是活动的。
-
您可以通过基于视口的元素大小(CSS 示例:
width: 50vw; height: 50vh;)或渲染到<cavas>元素并保持其大小为 100% 来解决此问题。这将导致缩放无效。当然,如果您要重写很多内容,这可能比它的价值更麻烦。我相信您可以使用 JavaScript 检测浏览器是否放大,因此显示一条消息,指示用户如何再次缩小也可能就足够了。这听起来很重要,不管它是什么,所以我希望你能解决它并让你的老板满意。
标签: javascript jquery css google-chrome window