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

这篇具有很好参考价值的文章主要介绍了#Chrome扩展程序开发教程--01:基本概念介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

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


1、什么是扩展程序?

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

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

2、Web技术

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

  • Javascript
  • HTML
  • CSS

3、Chrome 扩展程序API

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

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

4、扩展程序架构

        一个完整的扩展程序的架构如图所示:
#Chrome扩展程序开发教程--01:基本概念介绍

  • 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 界面包括:文章来源地址https://www.toymoban.com/news/detail-421545.html

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

到了这里,关于#Chrome扩展程序开发教程--01:基本概念介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 介绍Docker的基本概念和优势,以及在应用程序开发中的实际应用

    Docker是一种开源的容器化平台,可以将软件包裹在一个独立的容器中,并提供一种轻量级、可移植和自包含的环境来运行应用程序。Docker的基本概念包括以下几个方面: 容器:容器是独立运行的软件包,包含应用程序和它所依赖的所有组件(例如库、环境变量等)。容器具有

    2024年02月04日
    浏览(54)
  • 家校互通小程序实战开发01需求分析

    最近几年,随着移动互联网的深入发展,我们的日常生活和工作和微信已经紧密绑定。其实,有时候生活和工作的界限已经不明显,在我们的微信好友里既有家人、朋友,也有同事、客户和领导。 因为微信连接的便利性和沟通的及时性,现在学校也将微信作为和家长沟通和连

    2024年01月15日
    浏览(43)
  • Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展

    在上一章中,我们了解了如何在Dynamics365中使用新的RESTWebneneneba API端点来执行各种操作,以及如何使用它来开发自定义业务应用程序。在本章中,我们将了解Dynamics 365如何以本机方式支持与Microsoft Azure的集成。本章假定对微软Azure的基本原理有基本了解。 供Microsoft Azure参考

    2024年02月09日
    浏览(52)
  • xpath定位元素(F12开发者工具xpath定位、xPath Helper扩展程序xpath定位)

    对于UI自动化初学者来说,可能不知道如何下手,我们安装好了python、selenium等环境,如何去进行元素定位,如何编写自动化测试用例呢?今天就讲一下xpath元素定位。 1.F12开发者工具xpath定位 首先我们使用谷歌进行测试,打开需要测试的页面,点击键盘F12,进入开发者模式,

    2024年02月16日
    浏览(59)
  • 【开发环境】Mac 安装 Visual Studio Code ② ( 装 C/C++ 扩展 | 安装配置 Code Runner 扩展插件 | 运行 C 语言程序 )

    在 VSCode 中 , 点击 左侧 的 \\\" 扩展 \\\" 按键 , 在 扩展 面板中 , 默认显示之前已经安装过的 扩展 ; 在 扩展面板 中的 搜索栏 , 输入 \\\" C \\\" , 第一个就是 C/C++ 扩展 , 点击 \\\" 安装 \\\" 按钮 , 安装改 扩展插件 ; 安装完毕后 , 提示 如下内容 ; 在 扩展 面板中 , 搜索 \\\" runner \\\" , 搜索出的第一个

    2024年04月25日
    浏览(84)
  • 【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01

    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让 云上运动会、线上运动会、健身打卡、AI体育指导 等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从

    2024年02月09日
    浏览(46)
  • 【微信小程序独立开发 4】基本信息编辑

     这一节完成基本信息的编辑和保存 首先完成用户头像的获取 头像选择 需要将 button 组件  open-type  的值设置为  chooseAvatar ,当用户选择需要使用的头像之后,可以通过  bindchooseavatar  事件回调获取到头像信息的临时路径。 从基础库2.24.4版本起,若用户上传的图片未通过

    2024年01月20日
    浏览(51)
  • 微信小程序+前后端开发学习材料1-(基本)

    用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。文件内容为一个 JSON 对象。 1.1 page 用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应

    2024年01月19日
    浏览(48)
  • uniapp开发小程序之获取用户基本信息与手机号方式

    介绍 首先讲讲小程序的登录注册,一般登录首先需要获取code code的有效期是十五分钟左右,前端通过接口获取到code之后传给后端,然后后端会根据code来判断是否有该用户,并且后台可以携带code发送请求,获取到用户 openid,ession_key等,没有该用户就进行注册 手机号  获取

    2024年02月16日
    浏览(45)
  • 微信小程序+前后端开发学习材料2-(视图+基本内容+表单组件)

    学习来源 滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。 显示面板指示点indicator-dots 图标组件 实例演示 进度条。组件属性的长度单位默认为px,咱用rpx。 实例演示 这里我用view带了一下,如果不配置进度条外置属性,可以直接 progress percent=\\\"20\\\" show-

    2024年01月18日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包