#3199·mdBook

在 Firefix 和那些需要按下 Shift 键(如 AZERTY、QWERTZ 等)的键盘布局上,搜索快捷键 "/" 是无法使用的。

作者: HatemMn创建于 2026年8月27日更新于 2026年8月27日
标签C-enhancement

问题

相同的错误, 两种不同的表现 :

□ 不能在 AZERTY 上触发 '/'

/'搜索快捷键不能被触发于任何键盘布局中,因为/'是一个变化的字符。 例如,关于法国的AZERTY,/'是Shift+:'的关键。 " e.trangeKey " 是真的, " 搜索者.js " 中的全球关键操作者在检查 " / " 之前就返回了它的警卫条款:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 函数 GlobalKeyHandler(e) { 如果(例如备选案文K) e. ctrlKey {{{{{{{{{{{{{{{}}} e.metaKey
e. ShortKey QQ // 返回到 AZERTY '/' 上 . . . . . . . . ) (中文(简体) ). 返回; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? . . . . . . . . } 如果 (! hasFocus () QQ (e. key QQ's" QQ"/") { / 从未达到 { / { { { { { { }} { { { }}


因此搜索框从不打开.

这击中了AZERTY、QWERTZ以及`/'坐在Shift后方的任何其他布局,而Shift是非美国用户的一大部分。

^"/" 与默认 Firefox 快捷键相冲突

由于处理器返回时没有拨打“ preventDefault () ”, 键盘被移动到浏览器上。 在Chrome没有发生什么事情(Chrome没有 " / " 绑定页)。

在"Firefox"中,"/"被绑定为快取"(Quick Find)",因此"Firefox"自己的"找取"栏会打开而不用Doc搜索. 相同的根由,两个不同的症状.

□再现.

1. 将您的OS键盘布局设定为法语(AZERTY),或任何需要 " / " 移动的布局。
2. 开放任何mdBook网站并按`/'。
3. Chrome:没有打开。 Firefox:浏览器快取栏打开.

's'仍然在这些布局上起作用,因为它是一个未转动的密钥,这证实了转向卫是原因.


建议的解决办法

** 建议的固定件**

" / " 案件即使在举行 " 转移 " 时仍应进行,因为在许多布局上 换行方式正是您如何输入 `/' 。 一种方法是在修饰救市前检查搜索键,并在匹配时检查“防止Default()”以便Firefox停止偷取按键:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
如果有焦点!
(e. key ==='s' || e. key ==='/') {
e. 预防
显示搜索( 真) ;
窗口。scrollTo(0);
搜索栏. 选择 ();
返回;
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

(Keying off e.key'而不是一个键码已经处理布局映射;唯一真正的阻断器是被子ShiftKey'返回。 )

页:1

除了上面的固定部分外,还应加上`Ctrl/Cmd+K'作为第二个约束。

这是现在用户对Docuraurus,VitePress,以及大多数现代doc网站的期望,而"K"并没有在共同的布局上转移,因此它回避了这整个一类的问题.

(会就此提出一个建议!)

内容来源: rust-lang/mdBook