gpt4 book ai didi

google-chrome - 禁用 Chrome 捏缩放以在信息亭中使用

转载 作者:行者123 更新时间:2023-12-03 07:53:28 28 4
gpt4 key购买 nike

我们在 kiosk 模式下使用 Chrome,并且由于最近添加了捏缩放支持,用户不小心导致应用程序缩放。
然后他们认为他们已经破坏了它,然后直接离开,让应用程序(以及随后的 55 英寸触摸屏)处于损坏状态。

现在唯一可以工作的是停止超过 2 点的触摸事件的事件传播。问题是在这种情况下我们不能做多点触控应用程序,如果你 Action 快,浏览器会在 javascript 之前使用react。在我们的测试中,这仍然是用户意外发生的。

我已经完成了 Meta 标签,但它们不起作用。老实说,我希望我可以完全禁用 chrome 缩放,但我找不到办法做到这一点。

如何阻止浏览器缩放?

最佳答案

我们遇到了类似的问题,它表现为浏览器缩放但 javascript 没有接收到触摸事件(或者有时在缩放开始之前只是一个点)。

我们发现了这些可能的(但可能不是长期的)解决方案:

1. 使用 kiosk 模式时禁用捏/刷功能

如果这些命令行设置保留在 Chrome 中,您可以执行以下操作:

chrome.exe --kiosk --incognito --disable-pinch --overscroll-history-navigation=0
  • --disable-pinch - 禁用双指缩放功能
  • --overscroll-history-navigation=0 - 禁用滑动导航功能

  • 2. 使用 Chrome 标志 chrome://flags/#enable-pinch 禁用捏合缩放

    在浏览器中导航到 URL chrome://flags/#enable-pinch 并禁用该功能。

    捏缩放功能目前处于实验阶段,但默认情况下处于启用状态,这可能意味着它将在 future 版本中强制启用。如果您处于自助服务终端模式(并控制硬件/软件),您可能会在安装时切换此设置,然后阻止 Chrome 继续更新。

    已在 Chromium Issue 304869 处提供了用于删除此设置的路线图票证.

    浏览器在 javascript 可以阻止它之前使用react的事实绝对是一个错误,并已记录在 Chromium bug tracker .希望在永久启用该功能或​​手指交叉之前将其修复,他们会将其保留为设置。

    3. 禁用所有触摸,将与您的应用匹配的元素和事件列入白名单

    在我们进行的所有测试中,向文档添加 preventDefault() 会停止 Chrome 中的缩放(以及所有其他滑动/触摸事件):
    document.addEventListener('touchstart', function(event){
    event.preventDefault();
    }, {passive: false});

    如果您将基于触摸的功能附加到 DOM 的更高位置,它将在冒泡到文档的 preventDefault() 调用之前激活。在 Chrome 中包含 eventListenerOptions 参数也很重要,因为从 Chrome 51 开始 document-level event listener is set to {passive: true} by default .

    这会禁用普通的浏览器功能,例如滑动以滚动,但您可能必须自己实现这些功能。如果它是一个全屏、不可滚动的自助服务终端应用程序,那么这些功能可能并不重要。

    关于google-chrome - 禁用 Chrome 捏缩放以在信息亭中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22999829/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com