ARTICLE · 1112950
浏览器自动化、浏览器插件开发必备技能技术学习资料

Chrome扩展程序是基于Web技术(HTML、CSS、JavaScript)构建的小型软件程序,用于定制Chrome浏览器的功能和行为。扩展程序通过Chrome扩展API与浏览器交互,提供增强的浏览体验。
Manifest V3是Chrome扩展平台的最新版本,于2020年推出,旨在提高扩展程序的安全性、隐私性和性能。与Manifest V2相比,V3引入了服务工作者替代后台页面、修改了网络请求处理方式,并增强了权限控制机制。
扩展程序的基本架构包括清单文件(manifest.json)、内容脚本、后台服务工作者、弹出页面和选项页面等组件。这些组件协同工作,实现扩展程序的功能。
Manifest V3核心变更
服务工作者替代后台页面
Manifest V3最重要的变化之一是使用服务工作者替代持久的后台页面。服务工作者是事件驱动的脚本,在需要时由浏览器激活,在空闲时终止,这显著减少了资源消耗。
// manifest.json中服务工作者声明{"background": {"service_worker": "service-worker.js"}}
服务工作者与后台页面的主要区别在于生命周期管理。服务工作者在事件触发时激活,处理完成后可能被终止。开发者需要采用事件驱动的编程模式,使用chrome.storage API持久化状态,而不是依赖全局变量。
我们为浏览器插件开发设计了一套开发教程
这部分的完整开发教程可以访问官网平台http://www.mdrsec.com/

或者直接访问下面的链接地址
http://www.mdrsec.com/#/ctoplus_article/616fbcc2e053ca97a181d2306c71052f

即可看到浏览器插件开发的教程
我们对插件的每个基础特性一一做了详细介绍


插件的所有API介绍内容

下面是我们浏览器插件开发的教程大纲,具体详细的教程内容请参见我们的官网平台。
## 浏览器插件(扩展)开发教程
Chrome V3浏览器插件(扩展程序)开发介绍
浏览器插件开发环境搭建
插件的基本结构
解析清单文件manifest.json的参数
插件的用户界面弹出窗口(Popup)
V3中常用的权限使用介绍
处理事件
与网页的交互
存储与数据管理
网络请求与 API 调用
调试与测试
## 高级
Chrome 拦截、修改网络请求
Chrome 获取指定网站的Cookie并存储起来
Chrome 无视跨域从第三方接口获取数据
使用Vue2开发Chrome插件
Vue3 vite开发浏览器插件
插件的安全性与权限控制
性能优化与资源管理
避免常见错误与陷阱
V2和V3的插件开发区别对比
V2插件升级到V3
## V3 API
chrome.browser
chrome.browseraction
chrome.extension
chrome.notifications
chrome.runtime
chrome.storage
chrome.tabs
chrome.warning
chrome.accessibilityFeature
chrome.action
chrome.alarms
chrome.audio
chrome.bookmarks
chrome.browsingData
chrome.certificateProvider
chrome.commands
chrome.contentSettings
chrome.contextMenus
chrome.cookies
chrome.debugger
chrome.declarativeContent
chrome.declarativeNetRequest
chrome.desktopCapture
chrome.devtools.inspectedWindow
chrome.devtools.network
chrome.devtools.panels
chrome.devtools.performance
chrome.devtools.recorder
chrome.dns
chrome.documentScan
chrome.dom
chrome.downloads
chrome.enterprise.deviceAttributes
chrome.enterprise.hardwarePlatform
chrome.enterprise.login
chrome.enterprise.networkingAttributes
chrome.enterprise.platformKeys
chrome.events
chrome.extension
chrome.extensionTypes
chrome.fileBrowserHandler
chrome.fileSystem
chrome.fileSystemProvider
chrome.fontSettings
chrome.gcm
chrome.history
chrome.i18n
chrome.identity
chrome.idle
chrome.input.ime
chrome.instanceID
chrome.loginState
chrome.management
chrome.offscreen
chrome.omnibox
chrome.pageCapture
chrome.permissions
chrome.platformKeys
chrome.power
chrome.printerProvider
chrome.printing
chrome.printingMetrics
chrome.privacy
chrome.processes
chrome.proxy
chrome.readingList
chrome.runtime
chrome.scripting
chrome.search
chrome.sessions
chrome.sidePanel
chrome.storage
chrome.system.cpu
chrome.system.display
chrome.system.memory
chrome.system.storage
chrome.systemLog
chrome.tabCapture
chrome.tabGroups
chrome.topSites
chrome.tts
chrome.ttsEngine
chrome.types
chrome.userScripts
chrome.vpnProvider
chrome.wallpaper
chrome.webAuthenticationProxy
chrome.webNavigation
chrome.webRequest
chrome.windows
chrome.bluetooth
chrome.bluetoothSocket
chrome.mediaGalleries
chrome.app.window
chrome.mdns
chrome.clipboard
chrome.hid
chrome.app.runtime
chrome.bluetoothLowEnergy
chrome.appviewTag
chrome.automation
chrome.declarativeWebRequest
chrome.networking.onc
chrome.syncFileSystem
chrome.sockets.tcpServer
chrome.sockets.udp
chrome.sockets.tcp
chrome.virtualKeyboard
chrome.serial
chrome.system.network
chrome.socket
chrome.usb
chrome.webviewTag
chrome.pageAction
## 案例研究与项目开发
CTO Plus技术服务栈官方插件
跨境电商自动化约号插件
## 扩展阅读
打包与发布(分发)插件
更新与版本管理
浏览器插件市场的申请与发布流程
浏览器插件开发的官方文档与学习资源
常见问题解答
浏览器插件开发社区资源与论坛
Chrome浏览器插件开发这部分的教程内容我们还在持续更新调整,如果有问题欢迎联系我们咨询,也可以后台留言,请持续关注我们。
