全键盘操作 · 更克制的默认设置 键盘导航、输入即选,以及真正的键盘操作层
Navigation v1.2.0
Nav v1.2.0 为浏览器带来真正的键盘操作层。四项全新功能同步上线:键盘导航(在页面所有可点击元素上显示字母标记)、输入即选(直接输入字母即可高亮所有匹配项)、快速选择文本(Shift+方向键按单词、行或块扩展选区,无需鼠标即可复制),以及采用速度模型的方向键页面滚动。设置下拉菜单升级为完整的选项页面,开关从 28 个增至 40 个,包含侧边栏导航、实时搜索,以及悬停时演示各项功能的新手引导。支持通过 Shift+Escape 按网站暂停、自定义提示触发方式、默认开启链接预览。涉及页面按键的功能在安装后默认关闭。
- 键盘导航(新功能)——按住 Shift,页面上每个可点击元素都会显示字母标记;输入标记即可点击
- 输入即选(新功能)——直接输入字母即可高亮页面上所有匹配的文本;方向键切换,Enter 激活,Alt+Enter 在 Google 上进行预览搜索
- 快速选择文本(新功能)——Shift+方向键可从任意锚点按单词、行或块扩展选区,便于快速复制
- 方向键滚动页面(新功能)——提供慢速 / 默认 / 快速 / 关闭四档速度预设,速度模型力求带来原生般的手感
- 独立的选项页面取代侧边栏内的设置下拉菜单——开关从 28 个增至 40 个,带侧边栏导航、搜索和滚动定位,同时兼作新手引导
- 按网站暂停(新功能)——Shift+Escape 可在当前域名上一键启用或停用所有 Nav 快捷键
- 可自定义提示触发方式——按住 Shift(默认)、按住 Alt、按住 Ctrl,或按 / 进入 vimium 风格的模态模式
- 页面按键类功能在安装时默认关闭——了解其作用后再自行开启
真正的键盘操作层
Nav 从 v1.0 起就支持键盘快捷键:Alt+K 打开命令面板,Alt+G 进行智能分组,还有侧边栏热键。v1.2.0 引入了一套全新的键盘操作层,直接作用于页面本身,而不仅仅是侧边栏。四项功能首次同时上线:
- 提示模式(键盘导航)——在每个可点击元素上显示字母标记
- 输入即选——通过输入查找页面中所有匹配的文本
- 快速选择文本——Shift+方向键按单词、行或块扩展选区
- 方向键滚动页面——直接按方向键即可进行基于速度模型的滚动
每项功能都可在新的选项页面中单独开关,四项功能在首次安装时均默认关闭。开启后,Nav 就如同在 Chrome 之上叠加了一层 vimium 级的键盘浏览工具,同时不牺牲侧边栏和工作区。
提示模式(键盘导航)
按住 Shift,页面上每个可点击的元素上都会出现字母标记:链接、按钮、表单字段、role 为 button 的 div、深层嵌套的 SVG 控件,一应俱全。输入标记即可点击。双字符标记会随输入逐步确定。输入最后一个字母时按住 Shift+Alt,可在 Glance 浮层中预览该链接;按住 Shift+Ctrl 则在后台标签页中打开。当前缀有歧义时,按 Enter 会以相同的修饰键语义执行当前排在首位的操作。
提示模式会在页面的每个 frame 中运行,因此在 iframe 内同样有效(例如嵌入的 YouTube、嵌入的 GitHub,以及各类嵌入内容)。它绝不会修改网络请求。整个功能都在 hints.js 中实现,约 1,500 行原生 JavaScript。
输入即选
在提示模式未启用时,直接输入字母,Nav 就会使用 CSS Custom Highlight API(一项用于非破坏性页面高亮的现代 Web 平台功能)高亮页面上所有匹配的文本。方向键可轮换匹配项。Enter 激活首个匹配项。Alt+Enter 会在 Glance 浮层中用 Google 预览搜索匹配的文本。Ctrl+Enter 则在后台标签页中打开该搜索。
这才是页内文本查找该有的样子:一开始输入就符合你的预期,而不必先打开一个单独的对话框。
快速选择文本
这是多年来大多数用户一直希望浏览器提供的键盘复制文本体验。输入即选处于激活状态时,Shift+方向键会根据方向按单词、行或块扩展当前选区,并以你匹配到的位置为锚点,而不是从文档开头开始。Shift+A 会将当前匹配按块扩展为整个段落。
用它可以选取一个段落、一个代码块、一段引文或一条引用,完全不用碰鼠标。选区遵循 Chrome 的常规行为扩展,因此 Cmd/Ctrl+C 会复制你选中的内容。
新增的 Shift+arrow extend mode 设置让你可以在两种行为之间选择:扩展选区(大多数用户想要的)或轮换匹配项(vimium 风格)。默认为扩展选区。
方向键滚动页面
可选的方向键页面滚动(不用于切换标签页,该功能仍由 Alt+arrow 负责)。四档速度预设:慢速、默认、快速、关闭。按住方向键时会立即响应,并在持续按住时加速,所采用的速度模型力求带来原生般的手感,而非脚本驱动的感觉。在内部实现上,我们让首次按键走平滑滚动,后续的重复按键走即时滚动,以避开 Chrome 平滑滚动的取消限制,最终实现按住方向键滚动时不卡顿。
该设置位于“键盘快捷键”卡片中。根据下文的保守默认原则,默认关闭。
独立的选项页面
原本位于侧边栏中的设置下拉菜单已被完整的选项页面取代(可通过 chrome://extensions → 详细信息 → 扩展程序选项打开,或点击齿轮图标)。开关数量从 v1.1.0 的 28 个增加到 40 个,其中 12 项设置为首次开放。新页面包括:
- 侧边栏导航:导航 / 标签页与工作区 / 外观,另有一个可实时筛选卡片的搜索框
- 滚动定位:滚动时,侧边栏会自动高亮当前所在的分区
- 默认全部折叠:所有卡片初始均为折叠状态,点击即可展开。折叠状态会在每次访问期间保持。
- 通俗易懂的标题:显示“键盘导航”而不是“keyboardHints”,显示“快速选择文本”而不是“textSelectionExtend”
- 新手引导:每张功能卡片都配有悬停触发的动画,直接演示该功能的效果。顶部的“推荐”分组列出了三项最值得开启的可选功能。清单会记录你已启用的功能,并反映其实际生效的状态,而不是原始存储值。
- 每张卡片的帮助链接:每张卡片都有一个小小的帮助图标,点击即可跳转到 SuperchargeNavigation 资料库文章中的相应章节。只需一次点击,就能从设置项直达对应的说明文档。
保守的安装默认设置
三项会拦截页面按键的功能在首次安装时默认关闭:键盘导航、输入即选择和 Shift 滚动。这些功能会拦截页面中的输入和滚动操作,虽然实用,但可能出乎意料。新安装时,这些功能会作为可选项通过新手引导介绍给你,而不是在首次运行时突然生效。
如果你在此次更新前已使用过 Nav,现有设置将原样保留。
可自定义键盘导航触发键
键盘导航不一定非要用 Shift 触发。选项页面提供四种触发方式:
- 按住 Shift:默认选项
- 按住 Alt:适合 Shift 与系统快捷键冲突的用户
- 按住 Ctrl:适合 Shift 已被常用应用占用的情况
- 按 /:类似 vimium 的模式切换方式;按下
/,输入标记即可点击,按 Esc 退出
组合修饰键(链接预览和后台标签页)会根据你选择的触发键自动确定,确保三种操作始终互不冲突。设置说明中显示的按键标签也会实时更新,与所选触发键保持一致。
按网站暂停
在任意页面按 Shift+Escape 即可切换针对当前域名的总开关。Nav 的所有内容脚本功能(键盘导航、输入即选择、Alt+滚轮、Alt+中键点击、Alt+方向键切换标签页、链接预览、鼠标摇杆手势、拖拽)都会在该主机名上停用,直到你重新开启。
也可以通过 Alt+K 命令面板(“在……上暂停 Nav 快捷键”)以及侧边栏顶部的按网站暂停状态标识进行切换,该标识可让你一眼看清当前状态。
Alt+点击预览链接
普通链接点击的预览修饰键已更改:现在 Alt+点击会在页内链接预览浮层中打开链接,此前为 Shift+点击。此次调整让普通点击预览与键盘导航预览保持一致(后者在输入时使用 Shift+Alt),两者现在统一以 Alt 作为预览修饰键。Ctrl+点击仍会在后台标签页中打开,与 Chrome 原生行为一致。
默认预览链接
新增选项可反转点击组合键:开启默认预览后,普通点击以及在键盘导航中直接按 Enter 都会在链接预览浮层中打开链接;按住 Alt 则正常打开。Ctrl 始终为“后台标签页”。
子选项可将默认预览限定为仅外部链接:同一主机的链接正常跳转,只有跨主机的链接才会预览。如果你想预览外链,同时不影响站内导航,这个选项会很有用。
Alt+K 命令面板
命令面板的多项细节优化:
- 当前工作区现在会在工作区分组中高亮显示
- 输入加速匹配:面板打开时直接输入,可更快地将选中项移至匹配结果
- 新增新建空白工作区条目,按住 Shift 可执行破坏性操作,从零开始
- 按 Esc 关闭命令面板:此前面板会一直保持打开,直到点击外部区域或再次按 Alt+K
- 方向键不再穿透到下方页面
重复标签:自动模式
重复标签功能新增自动模式:只需开启一次,Nav 就会在你打开标签页时自动合并重复标签页,无需手动执行命令。通过 Alt+K 命令面板手动执行的方式照常可用。
新标签页
在高度较小的视口中,新标签页底部的品牌页脚不再与常用网站网格重叠。固定标签页栏、常用网站、工作区、搜索栏、时钟和环境粒子动画仍可像以前一样分别开关。
其他新增功能
- 顶栏主题按钮可在浅色、深色和自动之间切换,且不会滚动视口
- 侧边面板中的快速参考卡片默认展开;你的折叠选择会被保存
- 选项页面上的实用技巧卡片新增一键“启用组合键”入口,并附带演示动画
- 键盘导航的斜杠触发键现已支持非美式键盘布局
- 设置说明中显示的按键标签会实时更新,与你选择的触发键保持一致
- 如果标签分组和取消全部分组的快捷键与其他扩展冲突,可以将其关闭
问题修复
一系列稳定性和边缘情况修复:chrome.storage 初始化读取现已防范上下文失效;导览圆点反映的是实际生效状态,而非原始存储值;导览点击会落在正确的行上,设置名称与导览文案一致;侧边面板中的内联 onerror 处理程序已移除,以符合 MV3 CSP 要求;设置卡片中多余的行间分隔细线已去除;并绕过了平滑滚动取消时的限幅问题,使按住方向键时滚动保持平滑。