文章目录
- 插件开发常用api整理
- 1. 核心架构 API
- chrome.runtime
- chrome.extension
- 2. 用户界面 API
- chrome.action (Manifest V3)
- chrome.browserAction (Manifest V2)
- chrome.pageAction
- 3. 标签页管理 API
- 4. 窗口管理 API
- 5. 存储 API
- 网络请求 API
- chrome.webRequest
- chrome.declarativeNetRequest (V3)
- 7. 内容脚本相关 API
- 8. 通知 API
- 9. 上下文菜单 API
- 10. 书签和历史 API
- chrome.bookmarks
- chrome.history
- 11. 下载管理 API
- 12. 权限和隐私 API
- chrome.permissions
- chrome.privacy
- 13. 系统相关 API
- 14. 开发者工具 API
- 常用 API 组合示例
插件开发常用api整理
- 关于插件开发可以看我这篇文章: https://blog.csdn.net/weixin_43376417/article/details/153899992?sharetype=blogdetail&sharerId=153899992&sharerefer=PC&sharesource=weixin_43376417&spm=1011.2480.3001.8118
- 由于内容过多导致页面卡顿,所以不得不拆分成两份
1. 核心架构 API
chrome.runtime
chrome.runtime.onInstalled.addListener()
chrome.runtime.onStartup.addListener()
chrome.runtime.sendMessage()
chrome.runtime.onMessage.addListener()
chrome.runtime.connect()
chrome.runtime.onConnect.addListener()
chrome.runtime.getURL()
chrome.runtime.getBackgroundPage()
chrome.runtime.reload()
chrome.runtime.restart()
chrome.extension
chrome.extension.getBackgroundPage()
chrome.extension.getViews()
chrome.extension.sendMessage()
chrome.extension.onMessage.addListener()
2. 用户界面 API
chrome.action (Manifest V3)
chrome.action.onClicked.addListener()
chrome.action.setIcon()
chrome.action.setTitle()
chrome.action.setBadgeText()
chrome.action.setBadgeBackgroundColor()
chrome.action.enable()
chrome.action.disable()
chrome.browserAction (Manifest V2)
chrome.browserAction.onClicked.addListener()
chrome.browserAction.setIcon()
chrome.browserAction.setTitle()
chrome.pageAction
chrome.pageAction.show()
chrome.pageAction.hide()
chrome.pageAction.onClicked.addListener()
3. 标签页管理 API
chrome.tabs
chrome.tabs.query()
chrome.tabs.get()
chrome.tabs.getCurrent()
chrome.tabs.create()
chrome.tabs.update()
chrome.tabs.reload()
chrome.tabs.remove()
chrome.tabs.duplicate()
chrome.tabs.sendMessage()
chrome.tabs.executeScript()
chrome.tabs.onCreated.addListener()
chrome.tabs.onUpdated.addListener()
chrome.tabs.onRemoved.addListener()
chrome.tabs.onActivated.addListener()
4. 窗口管理 API
chrome.windows
chrome.windows.create()
chrome.windows.update()
chrome.windows.remove()
chrome.windows.get()
chrome.windows.getAll()
chrome.windows.onCreated.addListener()
chrome.windows.onRemoved.addListener()
chrome.windows.onFocusChanged.addListener()
5. 存储 API
chrome.storage
chrome.storage.local.set()
chrome.storage.local.get()
chrome.storage.local.remove()
chrome.storage.local.clear()
chrome.storage.sync.set()
chrome.storage.sync.get()
chrome.storage.sync.remove()
chrome.storage.session.set()
chrome.storage.session.get()
chrome.storage.onChanged.addListener()
网络请求 API
chrome.webRequest
chrome.webRequest.onBeforeRequest.addListener()
chrome.webRequest.onBeforeSendHeaders.addListener()
chrome.webRequest.onHeadersReceived.addListener()
chrome.webRequest.onCompleted.addListener()
chrome.webRequest.onErrorOccurred.addListener()
chrome.declarativeNetRequest (V3)
chrome.declarativeNetRequest.updateDynamicRules()
chrome.declarativeNetRequest.getDynamicRules()
7. 内容脚本相关 API
chrome.scripting (V3)
chrome.scripting.executeScript()
chrome.scripting.insertCSS()
chrome.scripting.removeCSS()
chrome.scripting.registerContentScripts()
chrome.scripting.unregisterContentScripts()
8. 通知 API
chrome.notifications
chrome.notifications.create()
chrome.notifications.update()
chrome.notifications.clear()
chrome.notifications.getAll()
chrome.notifications.onClicked.addListener()
chrome.notifications.onClosed.addListener()
chrome.notifications.onButtonClicked.addListener()
9. 上下文菜单 API
chrome.contextMenus
chrome.contextMenus.create()
chrome.contextMenus.update()
chrome.contextMenus.remove()
chrome.contextMenus.removeAll()
chrome.contextMenus.onClicked.addListener()
10. 书签和历史 API
chrome.bookmarks
chrome.bookmarks.create()
chrome.bookmarks.update()
chrome.bookmarks.remove()
chrome.bookmarks.search()
chrome.bookmarks.getTree()
chrome.history
chrome.history.search()
chrome.history.addUrl()
chrome.history.deleteUrl()
chrome.history.deleteRange()
11. 下载管理 API
chrome.downloads
chrome.downloads.download()
chrome.downloads.pause()
chrome.downloads.resume()
chrome.downloads.cancel()
chrome.downloads.erase()
chrome.downloads.search()
chrome.downloads.getFileIcon()
chrome.downloads.onCreated.addListener()
chrome.downloads.onChanged.addListener()
12. 权限和隐私 API
chrome.permissions
chrome.permissions.request()
chrome.permissions.contains()
chrome.permissions.getAll()
chrome.permissions.remove()
chrome.permissions.onAdded.addListener()
chrome.permissions.onRemoved.addListener()
chrome.privacy
chrome.privacy.websites.thirdPartyCookiesAllowed
chrome.privacy.network.networkPredictionEnabled
13. 系统相关 API
chrome.system
chrome.system.cpu.getInfo()
chrome.system.memory.getInfo()
chrome.system.display.getInfo()
chrome.system.power.getInfo()
chrome.idle
chrome.idle.queryState()
chrome.idle.setDetectionInterval()
chrome.idle.onStateChanged.addListener()
14. 开发者工具 API
chrome.devtools
chrome.devtools.panels.create()
chrome.devtools.inspectedWindow.eval()
chrome.devtools.network.getHAR()
常用 API 组合示例
消息通信
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {if (message.action === 'getData') {chrome.storage.local.get('data', (result) => {sendResponse(result);});return true; }
});
chrome.runtime.sendMessage({action: 'getData'}, (response) => {console.log('Received:', response);
});
标签页操作
chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {chrome.tabs.sendMessage(tabs[0].id, {action: 'modifyPage'});
});
chrome.tabs.create({url: 'https://example.com'});
数据存储
chrome.storage.local.set({key: 'value'}, () => {console.log('Data saved');
});
chrome.storage.local.get(['key'], (result) => {console.log('Data loaded:', result.key);
});