以编程方式禁用移动 Chrome 43 的 "Touch to Search" 功能

Disable mobile Chrome 43's "Touch to Search" feature programmatically

当我在 Android 设备上 select 在 Chrome 43 中输入文本时,我得到了 "Touch to Search" 弹出窗口。我们目前正在使用文本 selection 作为我们网站上的一项功能,这项新的 Chrome 功能会干扰我们的一些 UI.

在长期 运行 中,我们将研究新的 UI/UX 以与此功能并排工作,但在此期间,我们想在我们的网络上禁用它应用

是否有某种元标记或 JavaScript 我们可以添加以关闭此功能?有谁知道这目前是否可行?

导航至 about:flagschrome:flags 并查找 启用上下文搜索

然后切换到禁用并点击底部的重启。

这可以通过多种方式进行操作。用户可以按照 PaulI 的建议在标志中将其关闭,您可以控制它。

开发者控件,现在有几个选项,但基本的总结是,如果我们认为它是一个用户可交互的元素,那么它不会被启用:

  • CSS: -webkit-user-select: none;
  • HTML:
    • 任何带有 aria-role 的内容都不会启用搜索功能
    • 任何 tabindex 为 -1 或 > 0

如果要在具有打开/关闭(切换)操作的菜单中禁用 "touch to search",则需要 javascript :

event.preventDefault();

可能的解决方法是将文本包装在 <button> 标记中。如果谈论大块文本,这显然行不通,但对于标题、图标和其他小东西等其他元素,这很有效。

自 2021 年起,无法在 chrome 移动设备中禁用触摸搜索(当这是通过长按文本选择触发时)。 Kinlan 引用的文章显然只关注通过点击手势触发的触摸搜索。

引用 donnd,来自 bugs.chromium.org:

Regarding #2 -- developer control: The 2015 article that you mentioned (https://developers.google.com/web/updates/2015/10/tap-to-search) focuses on triggering through the tap gesture. As you correctly point out, it does not address the long-press gesture triggering. Touch to Search responds to both tap and long-press but treats them differently. As I'm sure you know, the long-press gesture activates a whole set of features which can include copy, translation, smart text selection, and Web Search. A site developer can markup their page text as non-selectable in order to disable the long-press gesture entirely, but currently there's no way to disable only the Touch to Search response to long pressing. If you'd like to work with us to add such a feature, let us know and we'll file a separate feature request.