Loading...
Loading...
Compare original and translation side by side
references/framework-detection.mdls wxt.config.ts plasmo.config.ts vite.config.ts manifest.json 2>/dev/null
cat package.json | grep -E '"wxt|plasmo|crxjs|react|vue|svelte"'| File found | Framework |
|---|---|
| WXT |
| Plasmo |
| CRXJS |
| Vanilla |
references/framework-detection.mdls wxt.config.ts plasmo.config.ts vite.config.ts manifest.json 2>/dev/null
cat package.json | grep -E '"wxt|plasmo|crxjs|react|vue|svelte"'| 找到的文件 | 框架 |
|---|---|
| WXT |
| Plasmo |
| CRXJS |
根目录下有 | 原生(Vanilla) |
docs-seekerdocs-seekerentrypoints/wxt.config.tsmanifest.jsonreferences/chrome-api-quick-reference.mdreferences/message-passing-patterns.mdentrypoints/wxt.config.tsmanifest.jsonreferences/chrome-api-quick-reference.mdreferences/message-passing-patterns.mdreferences/debugging-guide.md| Context | How to inspect |
|---|---|
| Service worker | |
| Content script | Page DevTools → Console → select extension context |
| Popup | Right-click popup → Inspect |
| Options / Side panel | Open page → F12 |
references/debugging-guide.md| 上下文环境 | 检查方法 |
|---|---|
| Service worker | |
| Content script | 页面DevTools → 控制台 → 选择扩展上下文 |
| Popup | 右键点击popup → 检查 |
| 选项 / 侧边栏 | 打开页面 → 按F12 |
| Framework | Command | Notes |
|---|---|---|
| WXT | | Full HMR, auto-reloads extension |
| Plasmo | | HMR for popup/content |
| CRXJS | | Vite HMR |
| Vanilla | Manual | Reload at |
| 框架 | 命令 | 说明 |
|---|---|---|
| WXT | | 完整HMR,自动重载扩展 |
| Plasmo | | 支持popup/content的HMR |
| CRXJS | | Vite HMR |
| 原生(Vanilla) | 手动操作 | 在 |
| API | Purpose | Permission |
|---|---|---|
| Query, create, update tabs | |
| Manage browser windows | |
| Persist data locally | |
| Sync data across devices | |
| Session-only data | |
| Toolbar icon, popup, badge | — |
| Right-click menu items | |
| Side panel UI | |
| Desktop notifications | |
| Inject scripts/CSS into pages | |
| Messaging, lifecycle, manifest | — |
| Intercept/modify network requests | |
| Block/redirect requests declaratively | |
| Track page navigation events | |
| OAuth2, Google Sign-In | |
| Schedule periodic tasks | |
| Keyboard shortcuts | |
| Read/write cookies | |
| Browser history access | |
| Read/write bookmarks | |
| API | 用途 | 权限 |
|---|---|---|
| 查询、创建、更新标签页 | |
| 管理浏览器窗口 | |
| 本地持久化存储数据 | |
| 跨设备同步数据 | |
| 会话级临时数据存储 | |
| 工具栏图标、popup、徽章 | — |
| 右键菜单项 | |
| 侧边栏UI | |
| 桌面通知 | |
| 向页面注入脚本/CSS | |
| 消息传递、生命周期、manifest | — |
| 拦截/修改网络请求 | |
| 声明式阻止/重定向请求 | |
| 跟踪页面导航事件 | |
| OAuth2、Google登录 | |
| 调度周期性任务 | |
| 键盘快捷键 | |
| 读写Cookie | |
| 访问浏览器历史 | |
| 读写书签 | |
// sender
const response = await chrome.runtime.sendMessage({ type: 'GET_DATA' });
// receiver (background)
chrome.runtime.onMessage.addListener((msg, sender, reply) => {
if (msg.type === 'GET_DATA') { reply({ data: '...' }); return true; }
});return truechrome.tabs.sendMessage(tabId, { type: 'ACTION' });references/message-passing-patterns.md// 发送方
const response = await chrome.runtime.sendMessage({ type: 'GET_DATA' });
// 接收方(后台)
chrome.runtime.onMessage.addListener((msg, sender, reply) => {
if (msg.type === 'GET_DATA') { reply({ data: '...' }); return true; }
});return truechrome.tabs.sendMessage(tabId, { type: 'ACTION' });references/message-passing-patterns.mdreferences/framework-detection.mdreferences/framework-styleguides.mdreferences/chrome-api-quick-reference.mdreferences/message-passing-patterns.mdreferences/debugging-guide.mdreferences/framework-detection.mdreferences/framework-styleguides.mdreferences/chrome-api-quick-reference.mdreferences/message-passing-patterns.mdreferences/debugging-guide.mdextension-createextension-manifestextension-testextension-analyzeextension-createextension-manifestextension-testextension-analyze