当前位置: 首页 > news >正文

插件开发常用api整理

文章目录

  • 插件开发常用api整理
        • 1. 核心架构 API
          • chrome.runtime
          • chrome.extension
        • 2. 用户界面 API
          • chrome.action (Manifest V3)
          • chrome.browserAction (Manifest V2)
          • chrome.pageAction
        • 3. 标签页管理 API
          • chrome.tabs
        • 4. 窗口管理 API
          • chrome.windows
        • 5. 存储 API
          • chrome.storage
        • 网络请求 API
          • chrome.webRequest
          • chrome.declarativeNetRequest (V3)
        • 7. 内容脚本相关 API
          • chrome.scripting (V3)
        • 8. 通知 API
          • chrome.notifications
        • 9. 上下文菜单 API
          • chrome.contextMenus
        • 10. 书签和历史 API
          • chrome.bookmarks
          • chrome.history
        • 11. 下载管理 API
          • chrome.downloads
        • 12. 权限和隐私 API
          • chrome.permissions
          • chrome.privacy
        • 13. 系统相关 API
          • chrome.system
          • chrome.idle
        • 14. 开发者工具 API
          • chrome.devtools
        • 常用 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()// 获取URL
chrome.runtime.getURL()
chrome.runtime.getBackgroundPage()// 管理插件
chrome.runtime.reload()
chrome.runtime.restart()
chrome.extension
// 获取视图
chrome.extension.getBackgroundPage()
chrome.extension.getViews()// 消息通信(较老API,建议用runtime)
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)
// 浏览器工具栏按钮(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() // V2 only// 事件监听
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() // V3 only
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()// 权限需要:"webRequest", "webRequestBlocking"
chrome.declarativeNetRequest (V3)
// 声明式网络请求(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
// CPU和内存信息
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 组合示例
消息通信
// background.js
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {if (message.action === 'getData') {chrome.storage.local.get('data', (result) => {sendResponse(result);});return true; // 保持消息通道开放}
});// content-script.js
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);
});
http://www.dtcms.com/a/533566.html

相关文章:

  • 东莞做网站找微客巴巴wordpress底部导航栏
  • 广州免费建站哪里有网页制作培训学费
  • 怎么修改网站网页的背景图片哈尔滨工业大学包机
  • 网站能不能一边用 一边备案直接进入网址的浏览器
  • 精美网站制作公司外贸网站制作哪家快
  • 网站是用php还是asp 怎么区别云盘建设网站
  • 廉政网站 建设需求汕头建站网站模板
  • 网站需要证件WordPress到底好不好用
  • 东莞网站建设方案咨询江宁网站建设价格
  • 泉州建站哪些公司wordpress 京东插件
  • 自己电脑做服务器上传网站 需要备案吗威海做网站推广的企业
  • 手机网站首页布局设计外围网站代理怎么做
  • 软件著作权申请多少钱一个苏州做网站优化的公司
  • 山东电力建设河北分公司网站辽宁省建设工程信息网网址
  • 有网站公司源码可以重建网站吗有没有网址
  • 教育网站建设策划书青岛网站seo优化
  • 南昌网站建设模板网络公司网站建设偶像
  • 宠物美容网站建设合同书贩卖做网站资料
  • 微信上怎么做网站链接高端的网站建设公司哪家好
  • 国家建设部网站倪虹html网站地图怎么做
  • RAG相关
  • 厦门网站建设xm37电池外贸一般在哪些网站做
  • 电话约建设网站 客户用手机下载地图到内全卡
  • 建设什么网站可以赚钱南京网站建设的公司
  • 信息网站怎么做视觉设计师是做什么的
  • HarmonyOS Canvas开发指南
  • 网站设计制作哪家服务好网上营销手段
  • CPU 指令集、权限与用户态内核态机制
  • 怎么在网上创建网站不限流量网站空间
  • 07-MySQL内置函数