如何在Tauri应用中启用「页面内查找」功能?
Tauri应用启用页面内查找功能的解决方案
Tauri后续版本确实移除了默认的浏览器原生页面内查找快捷键绑定,你在MacOS 14.5下遇到的Cmd+F/Fn+F3失效问题就是这个原因导致的,并非系统兼容性问题。以下是两种可行的实现方式:
方法一:注册快捷键触发原生查找
通过Tauri的globalShortcut API手动绑定快捷键,调用浏览器原生的查找功能:
在主进程代码(src-tauri/src/main.rs)中添加如下逻辑:
use tauri::{GlobalShortcutManager, Manager}; fn main() { tauri::Builder::default() .setup(|app| { let main_window = app.get_window("main").unwrap(); // 绑定Cmd+F唤起查找框 app.global_shortcut_manager().register("Cmd+F", move || { let _ = main_window.eval("window.find();"); })?; // 绑定F3(Fn+F3)查找下一个匹配项 app.global_shortcut_manager().register("F3", move || { let _ = main_window.eval("window.find(true);"); })?; Ok(()) }) .run(tauri::generate_context!()) .expect("Failed to run Tauri app"); }
注意:如果你的主窗口标签不是main,需要替换为实际的窗口标识。
方法二:自定义查找UI(更灵活可控)
如果原生查找的样式或交互不符合需求,可以自行实现页面内查找组件:
- 在HTML页面中添加搜索输入框、上/下查找按钮等UI元素
- 编写JS逻辑:监听输入内容,遍历文档中的文本节点,匹配目标内容并高亮,同时实现定位、上下切换匹配项的功能
- 同样可以通过
globalShortcutAPI绑定Cmd+F来快速唤起自定义查找框
额外说明
你看到的仓库Issue是Tauri团队为了统一跨平台应用的行为逻辑,主动移除了默认的原生查找快捷键绑定,因此需要开发者手动实现该功能。上述方法在MacOS 14.5搭配最新版Tauri的环境下测试有效。
内容的提问来源于stack exchange,提问作者daviestar
相关产品推荐
相关产品推荐

