镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-20 22:37:48 +08:00
- 新增全局快捷键支持(Ctrl+Shift+F/Command+Shift+F) - 添加快捷键命令类型定义(chrome-commands.d.ts) - 实现版本管理工具(version.ts) - 新增模板和快捷键相关类型定义 - 优化搜索表单组件支持外部控制高级选项 - 新增引擎选择器组件(EngineSelector) - 改进全局样式和按钮样式 - 在设置页面新增快捷键配置选项 - 添加测试页面和调试工具 - 更新文档包括发布说明和测试指南 本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
2.2 KiB
2.2 KiB
快捷键修复简要说明
问题
快捷键功能失效,无法通过Ctrl+Shift+F打开popup。
根本原因
/Users/lhly/chromeex/ssp/src/background/index.ts中错误地尝试调用chrome.action.openPopup()
该API在Chrome扩展的Service Worker(Manifest V3)中不能被编程调用。
对于_execute_action命令,Chrome会自动打开popup,无需额外代码。
修复内容
移除错误的chrome.action.openPopup()调用,依赖Chrome内置的自动行为。
修改前(错误)
chrome.commands.onCommand.addListener((command) => {
if (command === '_execute_action') {
chrome.action.openPopup().catch((error) => {
console.error('打开弹窗失败:', error)
})
}
})
修改后(正确)
chrome.commands.onCommand.addListener((command) => {
switch (command) {
case '_execute_action':
// 自动打开popup,无需手动处理
console.log('全局快捷键已触发,popup将自动打开')
break
default:
console.warn('未知的快捷键命令:', command)
}
})
修改文件
- ✅
/Users/lhly/chromeex/ssp/src/background/index.ts- 已修复
编译状态
npm run build
- ✅ TypeScript编译成功
- ✅ Vite构建成功
- ✅ 无错误或警告
测试验证
请执行以下测试:
- 加载扩展到Chrome(dist/目录)
- 在任意页面按下
Ctrl+Shift+F(macOS:Command+Shift+F) - 验证popup能否打开
- 测试popup内的所有快捷键
详细测试指南见: SHORTCUT_TEST_GUIDE.md
快捷键列表
全局快捷键
Ctrl+Shift+F(Win/Linux) /Command+Shift+F(macOS) - 打开搜索面板
Popup内快捷键
Ctrl+Enter- 执行搜索Ctrl+Shift+H- 打开历史记录Ctrl+Shift+T- 打开模板选择器Ctrl+Shift+C- 复制查询Ctrl+Shift+A- 切换高级选项Ctrl+K- 聚焦关键词输入框Ctrl+L- 清空表单Escape- 关闭popup?- 显示快捷键帮助Ctrl+1-5- 切换搜索引擎
相关文档
SHORTCUT_FIX_SUMMARY.md- 详细修复总结SHORTCUT_TEST_GUIDE.md- 完整测试指南SHORTCUT_FIX_COMPLETE.md- 修复完成报告
结论
修复完成,项目编译成功,可以进行测试验证。