#Chrome扩展程序开发教程--01:基本概念介绍

引言

        本系列博客旨在带来最新的Chrome扩展程序开发入门教程。


1、什么是扩展程序?

        通过向Chrome浏览器添加自定义特性和功能来提升网上冲浪体验,比如:

  • 生产力工具
  • 丰富网页网页内容
  • 信息聚合

2、Web技术

        扩展程序本质上也是一个Web应用,开发扩展程序需要使用和Web应用一样技术栈:

  • Javascript
  • HTML
  • CSS

3、Chrome 扩展程序API

        扩展程序可以使用浏览器提供的所有JavaScript APIs。扩展程序之所以能够比普通Web应用程序更强大,是因为它们还可以使用Chrome提供的更强大的API。例如:

  • 改变指定网站的功能或行为
  • 允许用户收集和组织各网站的信息
  • 为 Chrome DevTools 添加自定义功能

4、扩展程序架构

        一个完整的扩展程序的架构如图所示:

  • manifest.json
    所有的扩展程序必须在根目录中包含且只包含一个 manifest.json 文件。这个文件我们通常称为清单文件,里面记录了关于这个扩展程序的所有元数据:使用的文件,需要的权限,谁来处理事件,谁来处理网页等。

  • service worker
    service worker(service-worker.js)是一个基于事件的脚本,在后台运行,通常用来协调扩展程序中不同部分的任务和监听浏览器事件,如:扩展程序被安装、打开页面、关闭页面,创建新标签、添加新书签、点击扩展工具栏图标等。service worker 可以使用所有的Chrome API,但 service worker 不能直接与网页的内容直接进行交互,需要与 content scripts 进行通信来间接修改网页的内容。

  • content scripts
    content scripts(content-script.js)会自动向网页注入 JavaScript 代码,负责处理网页内容,可以读取和修改它们所注入的网页的 DOM。由于安全等原因 content scripts 的运行环境和网页内容本身是隔离的,也就是说网页本身所创建对象和函数,在 content scripts 中是无法访问的,反之亦然。而且 content scripts 只能使用部分 Chrome API,但可以通过与 service worker 进行通信来间接使用其它 Chrome API。

  • 可视化界面
    扩展程序可以通过包括各种 HTML 文件来构建可视化界面,与用户进行交互,但这些 HTML 文件不能有内嵌 JavaScript 代码,想要使用 JavaScript 就必须指向 js 文件。所有这些页面都可以访问 Chrome API。最常见的两种 HTML 界面包括:

    • popup
      大多数扩展程序都使用 popup(popup.html)来提供交互功能,如显示标签列表,或有关当前页面的额外信息。用户可以通过点击扩展工具的图标打开它,当用户点击其它地方时,popup就会自动关闭。
    • options
      部分扩展程序还使用 options(options.html)来提供更多,更详细的交互功能,例如配置扩展程序可以在哪些网站上运行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值