- chrome.tabs - 标签页管理
| API | 作用 |
|---|---|
| chrome.tabs.query({active, currentWindow, url...}, callback) | 查询标签页信息 |
| chrome.tabs.onActivated.addListener(callback(activeInfo)) | 监听标签页切换 |
| chrome.tabs.onUpdated.addListener(callback(tabId, changeInfo, tab)) | 监听标签页更新(URL、标题等) |
| chrome.tabs.onRemoved.addListener(callback(tabId, removeInfo)) | 监听标签页关闭 |
| chrome.tabs.captureVisibleTab(windowId?, {format, quality}, callback) | 截图当前标签页 |
| chrome.tabs.sendMessage(tabId, message, callback) | 向指定标签页的 content script 发送消息 |
| chrome.tabs.create({url, active...}, callback) | 创建新标签页 |
- chrome.storage - 数据存储
| API | 作用 |
|---|---|
| chrome.storage.local.get(string / string[], callback) | 读取本地存储(单个设备 |
| chrome.storage.local.set({xx:xx}, callback) | 写入本地存储 |
| chrome.storage.local.remove(string / string[], callback) | 删除本地存储 |
| chrome.storage.sync.get(string / string[], callback) | 读取同步存储(跨设备 |
| chrome.storage.sync.set({xxx:xx}, callback) | 写入同步存储 |
| chrome.storage.onChanged.addListener(callback(changes, namespace)) | 监听存储变化 |
存储限制:
local: 10MB
sync: 100KB(单个 item 8KB)
- chrome.runtime - 运行时通信
| API | 作用 |
|---|---|
| chrome.runtime.sendMessage(message, callback) | 发送消息到其他脚本 |
| chrome.runtime.onMessage.addListener(callback(message, sender, sendResponse)) | 监听消息,返回 true 保持通道 |
| chrome.runtime.getManifest() | 获取 manifest.json 内容 |
| chrome.runtime.getURL(path) | 获取插件资源的完整 URL |
| chrome.runtime.lastError | {message: string} 获取最后一次错误信息 |
| chrome.runtime.id | 获取插件 ID |
| chrome.runtime.onInstalled.addListener(callback(details)) | 监听安装/更新事件 |
| chrome.runtime.openOptionsPage(callback) | 打开设置页面 |
- chrome.sidePanel - 侧边栏管理
| API | 作用 |
|---|---|
| chrome.sidePanel.open(options: {tabId, windowId}, callback) | 打开侧边栏 |
| chrome.sidePanel.setPanelBehavior(behavior: {openPanelOnActionClick}, callback) | 设置侧边栏行为 |
| chrome.sidePanel.setOptions(options: {tabId, path, enabled}, callback) | 设置侧边栏选项 |
- chrome.contextMenus - 右键菜单
| API | 作用 |
|---|---|
| chrome.contextMenus.create(createProperties: {id, title, contexts, parentId...}, callback) | 创建右键菜单项 |
| chrome.contextMenus.onClicked.addListener(callback(info, tab)) | 监听菜单点击事件 |
| chrome.contextMenus.update(id, updateProperties, callback) | 更新菜单项 |
| chrome.contextMenus.remove(menuItemId: string, callback) | 删除菜单项 |
contexts 可选值:'page', 'selection', 'link', 'image', 'video', 'audio'
- chrome.windows - 窗口管理
| API | 作用 |
|---|---|
| chrome.windows.getCurrent(getInfo, callback) | 获取当前窗口 |
| chrome.windows.onFocusChanged.addListener(callback(windowId)) | 监听窗口聚焦变化 |
| chrome.windows.WINDOW_ID_NONE | 无窗口聚焦 |
- chrome.action - 工具栏图标
| API | 作用 |
|---|---|
| chrome.action.onClicked.addListener(callback(tab) ) | 监听图标点击(需禁用 popup) |
| chrome.action.setBadgeText(details: {text, tabId}, callback) | 设置徽章文本 |
| chrome.action.setBadgeBackgroundColor(details:{color, tabId}, callback) | 设置徽章背景色 |
| chrome.action.setIcon(details: {path, tabId}, callback) | 设置图标 |
- chrome.omnibox - 地址栏搜索
| API | 作用 |
|---|---|
| chrome.omnibox.setDefaultSuggestion(suggestion) | 设置默认建议 |
| chrome.omnibox.onInputChanged.addListener(callback(text, suggest)) | 监听输入变化 |
| chrome.omnibox.onInputEntered.addListener(callback(text, disposition)) | 监听回车确认 |
需要在 manifest.json 中配置:
{
"omnibox": { "keyword": "bossai" }
}
- chrome.notifications - 系统通知
| API | 作用 |
|---|---|
| chrome.notifications.create(notificationId: string, options: {type, title, message, iconUrl...}, callback(notificationId)) | 创建通知 |
| chrome.notifications.clear(notificationId: string, callback(wasCleared)) | 清除通知 |
| chrome.notifications.onClicked.addListener(callback(notificationId)) | 监听通知点击 |
type 可选值:'basic', 'image', 'list', 'progress'