「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......

Hi,这里是JustHappy,上手直接开始开发插件?我想你会没有头绪,如果你从未开发过浏览器插件,我想这篇一定对你有帮助,哈哈至少在 vibe coding 的时候可以更好的指挥 AI 去帮助你,放心,我"碎片式写作"篇幅不长,希望给你带来愉快的阅读体验

浏览器扩展是什么?

浏览器扩展是由 Web 技术构建的小程序(HTML、CSS 和 JavaScript),扩展程序可通过自定义界面、监控浏览器事件和修改网页来提升浏览体验。

自 web 技术诞生初始不久,浏览器插件、扩展技术并应运而生,而后 FireFox、Chrome 等浏览器大厂也纷纷下场,并在 2015 年确定了统一的 WebExtensions 标准

在我眼中,浏览器扩展是 web 世界的"外挂",你几乎可以通过它去操纵一切网页;同时它也是良好的应用内容载体,其独特的交互模式在一些场景实有奇效

统一的标准:WebExtensions(2015+)

Mozilla、Google、Microsoft 达成共识,共同确立了 WebExtensions API ,我们之后的开发之路也围绕这个标准,这里先做个"路由",这样以后找文档不至于迷路哈哈

WebExtensions 标准适用的浏览器:

  • Mozilla Firefox
  • Google Chrome
  • Microsoft Edge
  • Apple Safari(部分)

比较详尽的内容参照 MDN / chrome 文档 : MDN web Extensions / Chrome web Extension

它是一个完整的应用

虽然我们通过 Web 技术来开发浏览器扩展,但它的形态绝对不是一个单纯的网页中的网页,而更像是一个完整的应用,有自己独立的一套运作体系,这个"应用"大致的构成成分如下

插件是如何操作页面的?

我们往往通过一下两种方式操作页面(其余不推荐),受限于篇幅,这里只简单介绍

1. Content Script:扩展派驻在页面里的"手和眼"

Content Script 就是注入到匹配页面里的脚本,它能:

  • 读/改 DOM:document.querySelector(...)、element.textContent = ...
  • 监听事件:点击、输入、滚动
  • 插入 UI:按钮、浮层、标记、高亮
  • 观察变化:MutationObserver

关键点:它和网页 JS 共享同一个 DOM,但不共享同一个 JS 作用域(隔离世界)。

2. chrome.scripting:把脚本"打到页面里"

chrome.scripting可以把代码"注入到页面"执行 ,但它并不等同于传统意义上"把脚本塞进网页里"

chrome.scripting 是由扩展后台控制的"按需代码注入机制",注入点默认是 Content Script 的隔离世界,而不是网页的 JS 主世界。

典型流程是:

  • UI(popup/sidepanel)→ 发消息给 Background
  • Background 找到当前 tabId
  • Background 用 scripting 把脚本/样式注入到该 tab

ok,就到这,且听后续我们展开细说

如果你有兴趣,可以直接尝试我的插件开发模板,持续迭代中.....

使用文档:simonmie.github.io/vue-chrome-...

github : github.com/Simonmie/vu...

也欢迎各位大佬参与

相关推荐
wflynn6 分钟前
GitHub 今日推荐|wordcraft:用 Rust 重写 Word 内核并开放给 AI 调用
rust·开源·github
I'm Jie16 分钟前
【开源】7 天,我用 Rust 复刻了 FinalShell!Rhost v1.0.0 发布
开发语言·rust·开源
能源革命32 分钟前
Vue 网格拖拽布局组件全景指南:7 大方案深度对比
前端·javascript·vue.js
tianbin91142 分钟前
2026大模型API选型指南:从训练到推理,如何构建高效稳定的模型调用链路?
开源
知野小兔1 小时前
JavaScript中Map和Set详解
javascript
穆梓兰煊1 小时前
AI供应链安全不再只是包安全,还涉及模型与数据
前端·数据库
EasyBr指纹浏览器1 小时前
自媒体标题改写怎么做?先对齐正文,再分平台找角度
开源·自媒体·文案写作
deli0071 小时前
Skill 怎么写才被 Agent 命中?18 条规则做成 SKILL.md 校验器,规范样例 92 分
前端
Hum8le1 小时前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
coding漫漫长路1 小时前
二值化后还剩1212个黑点,OCR却认成了乱码
前端