镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-21 06:41:51 +08:00
- 新增全局快捷键支持(Ctrl+Shift+F/Command+Shift+F) - 添加快捷键命令类型定义(chrome-commands.d.ts) - 实现版本管理工具(version.ts) - 新增模板和快捷键相关类型定义 - 优化搜索表单组件支持外部控制高级选项 - 新增引擎选择器组件(EngineSelector) - 改进全局样式和按钮样式 - 在设置页面新增快捷键配置选项 - 添加测试页面和调试工具 - 更新文档包括发布说明和测试指南 本次提交包含多项功能新增和优化,主要围绕快捷键功能的实现和用户体验提升。
84 行
2.2 KiB
Markdown
84 行
2.2 KiB
Markdown
# 快捷键修复简要说明
|
|
|
|
## 问题
|
|
快捷键功能失效,无法通过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内置的自动行为。
|
|
|
|
### 修改前(错误)
|
|
```typescript
|
|
chrome.commands.onCommand.addListener((command) => {
|
|
if (command === '_execute_action') {
|
|
chrome.action.openPopup().catch((error) => {
|
|
console.error('打开弹窗失败:', error)
|
|
})
|
|
}
|
|
})
|
|
```
|
|
|
|
### 修改后(正确)
|
|
```typescript
|
|
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` - 已修复
|
|
|
|
## 编译状态
|
|
```bash
|
|
npm run build
|
|
```
|
|
- ✅ TypeScript编译成功
|
|
- ✅ Vite构建成功
|
|
- ✅ 无错误或警告
|
|
|
|
## 测试验证
|
|
请执行以下测试:
|
|
1. 加载扩展到Chrome(dist/目录)
|
|
2. 在任意页面按下`Ctrl+Shift+F`(macOS: `Command+Shift+F`)
|
|
3. 验证popup能否打开
|
|
4. 测试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` - 切换搜索引擎
|
|
|
|
## 相关文档
|
|
1. `SHORTCUT_FIX_SUMMARY.md` - 详细修复总结
|
|
2. `SHORTCUT_TEST_GUIDE.md` - 完整测试指南
|
|
3. `SHORTCUT_FIX_COMPLETE.md` - 修复完成报告
|
|
|
|
## 结论
|
|
修复完成,项目编译成功,可以进行测试验证。
|