移除对 cmd/ctrl-f 的覆盖

如何重现:

  1. 使用主流浏览器(Chromium 衍生版/ffx/ie)
  2. 浏览互联网
  3. 习惯使用标准的键盘命令,如 cmd-q、cmd-1/2/3、cmd-f
  4. 继续浏览
  5. 遇到一个 Discourse 网站
  6. 按 cmd-f,因为你想在页面上查找内容
  7. 获得完全不同的、通常更糟糕的*体验
  8. 把电脑扔出窗外。放弃互联网生活。搬到沙漠岛上,吃一小会儿寿司

“更糟糕”的例子

  • 经常找不到页面上的内容
  • 需要最少字符数
  • 不允许重复按 cmd-f 来循环搜索

提议的解决方案:
完全移除该功能。

3 个赞

我不确定这是否算是一个bug

也许更像是一个建议?

1 个赞

我不知道……如果我在一个 discourse 网站上,想点击 URL 栏但它不起作用,那不就是个“bug”吗?

这有什么区别?

2 个赞

您可以通过按两次 Ctrl+F 来调出浏览器搜索。这是最适合搜索的按键。您有更好的想法吗?

4 个赞

是的,是的。更好的解决方案:
按一次 cmd-f。(不是两次)(另外,为了避免任何其他想法:也不是三次或更多次)

这可以改写自原帖,如下:

“完全移除该功能。”

2 个赞

这个特定的讨论实例必须禁用此功能,其中的讽刺意味并未消失。这里的当权者是否认识到它的劣势?

也许您尝试的主题很短

3 个赞

看,这就是bug:

大部分帖子和主题流不在浏览器DOM中

也许可以少加载一些javascript、css和漂亮的图片,专注于加载对话文本。

这样的话,原生的cmd-f就能正常工作了。

“如果你认为自己比Discourse聪明,就再试一次。找出你是否真的聪明”

每次我只是快速向下滚动页面以加载所有内容。然后按两次cmd-f,效果会更好。

这不是真的。

此功能在这里也存在:

前往:Introducing admin sidebar navigation - #61 by martin 按下 Ctrl+F

2 个赞

当你这样做时,为了提高滚动和渲染性能,Discourse 会从 DOM 中移除较早的帖子。因此,不可能“加载”一个大型主题的全部内容。

这就是为什么我们有自定义的 ctrl+f 实现,并且我们只将其用于无法完全加载的长主题。

8 个赞

在我看来,你只是在找借口。劫持原生功能应该是不行的。互联网上 99.9% 的网站都遵守这一点。为什么 Discourse 特别?

1 个赞

关于这个主题,多年来在许多话题中都有大量的历史记录。如果你搜索一下,就能看到过去的对话。:+1:

5 个赞

GitHub、Google Docs/Slides/等也劫持了它,我怀疑这有助于提高性能,这也是它被执行的原因。

3 个赞

GitHub、Google Docs/Slides 等也劫持了它,而且我怀疑这有利于这里的性能,这也是它被执行的原因。

Discourse 是一个绝佳的机会,可以成为不破坏原生功能的领导者!

你可以指责那些大公司,让他们看看谁才是老大。

您会推荐哪种按键组合,以便用户在浏览器中找不到帖子时,能够像使用 Ctrl+F 一样在主题中查找他们想要的帖子?您似乎期望 Ctrl+F 能够找到您想要的主题中的帖子,但这并非如您所愿。那么,“即使我的浏览器找不到帖子,也能在当前主题中找到帖子”的按键是什么?难道 Ctrl+F 无法在当前主题中找到帖子不属于违反预期吗?

4 个赞

Discourse 的搜索功能覆盖浏览器标准功能,对于期望在网站之间获得一致快捷方式的用户来说,可能会显得生硬且不直观。这会打断他们的操作流程并阻碍可访问性,使页面内搜索更加困难。

更好的方法可能是允许用户选择他们偏好的搜索方式,默认保留浏览器功能。建议使用一个视觉图标来传达 Discourse 内的搜索功能,以开始。

我认为 Ctrl-F 是浏览器的标准“在页面中查找文本”功能,我认为最好不要覆盖它。

对于 discourse 特定的搜索,用户可以点击放大镜(可能对大多数不使用快捷键的用户来说)。Discourse 已经为使用快捷键的用户提供了“/”快捷键。

有趣的是,在我的 Chromebook 上,它会劫持 Ctrl-Alt-F 和 / 来实现此功能。

如果覆盖,至少包含一些文本,例如“再次按 Ctrl-F 使用本机页面查找功能”。

1 个赞

不确定是什么时候改变的,但 Discourse 似乎不再劫持 Ctrl + F,只劫持 Ctrl + Alt + F,正如 @Isambard 的帖子中所提到的。

哎呀,我错过了关于大型主题的部分:

它确实告诉了你关于再次点击以进行默认搜索 @Isambard
image

1 个赞

感谢您指出这一点,我多年来一直在使用 Discourse,但从未注意到这一点。

开个玩笑,我非常赞赏开发人员所做的工作,但我希望他们能够拥抱变革,使 Discourse 对主流用户更加友好。

此处不知何故不存在: