浏览器插件中调用的chrome API集合

  1. 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) 创建新标签页
  1. 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)

  1. 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) 打开设置页面
  1. chrome.sidePanel - 侧边栏管理
API 作用
chrome.sidePanel.open(options: {tabId, windowId}, callback) 打开侧边栏
chrome.sidePanel.setPanelBehavior(behavior: {openPanelOnActionClick}, callback) 设置侧边栏行为
chrome.sidePanel.setOptions(options: {tabId, path, enabled}, callback) 设置侧边栏选项
  1. 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'

  1. chrome.windows - 窗口管理
API 作用
chrome.windows.getCurrent(getInfo, callback) 获取当前窗口
chrome.windows.onFocusChanged.addListener(callback(windowId)) 监听窗口聚焦变化
chrome.windows.WINDOW_ID_NONE 无窗口聚焦
  1. 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) 设置图标
  1. 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" }

}

  1. 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'

相关推荐
gqkmiss1 年前
Chrome 浏览器插件获取网页 iframe 中的 window 对象
前端·chrome·iframe·postmessage·chrome 插件
gqkmiss1 年前
Chrome 浏览器插件获取网页 window 对象(方案二)
前端·chrome·chrome devtools·window·chrome 插件
gqkmiss1 年前
Chrome 浏览器插件获取网页 window 对象(方案三)
前端·chrome·window·chrome 插件·custom event
gqkmiss1 年前
Chrome 浏览器插件获取网页 window 对象(方案一)
前端·chrome·chrome devtools·window·chrome 插件
gqkmiss2 年前
开发 Chrome 浏览器插件时进行 Vue3+Vite 多页面多入口配置
前端·vue3·vite·chrome 插件·多页面配置·rollupoptions·entryfilenames
gqkmiss2 年前
Chrome 浏览器 Manifest V3 版本中 scripting API 解析
前端·chrome·浏览器·manifest·chrome 插件·manifest.json·scripting
gqkmiss2 年前
一万六千字大章:Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析
前端·chrome·浏览器·浏览器插件·chrome 插件·manifest.json·manifest v3
gqkmiss2 年前
Chrome 浏览器插件从 Manifest V2 升级到 V3 版本所需要修改的点
前端·chrome·chrome devtools·浏览器插件·chrome 插件·manifestv3·升级 chrome 插件
gqkmiss2 年前
Chrome 插件 V3 版本 Manifest.json 中的内容脚本(Content Scripts)解析
前端·chrome·chrome 插件·content scripts·内容脚本·inject scripts