火狐扩展WebExtension新手入门

什么是WebExtension?

WebExtension(扩展)是夸浏览器用于开发附加组建的工具。在很大程度上与谷歌、欧朋等浏览器兼容。

WebExtension 剖析

WebExtension 是一个打包好的、可供发布的安装包,该安装包包含若干文件。

每个WebExtension必须包含一个名为"manifest.json"(manifest 表现,表明),该文件可以指向如下类型的文件

  • background pages:执行一个长时间运行的逻辑
  • content scripts:与网页进行交互(与JS在页面中的<script>元素不一样)
  • browser action files:在工具栏中添加按钮
  • page action files:在地址栏添加按钮
  • options pages:为用户定义一个可浏览的UI界面,可以改变曾经的设置
  • web-accessible resources:是打包好的内容可用于网页与目录脚本

manifest.json

唯一一个在每个WebExtension中必须存在的文件。包含了关于这个扩展插件基本的元数据。比如扩展的名字,版本和所需权限。以及扩张需要的版本信息与权限。并且,也对WebExtension中其他文件进行了链接。

WebExtension 剖析官网详细信息

第一个WebExtension

创建WebExtension项目的目录

mkdir borderify
cd borderify
manifest.json

在borderify 目录内创建 "manifest.json" 文件。

{	"manifest_version": 2,#脚本类型必须为2,theme为4
	"name": "Broderify",#扩展名必须
	"version": "1.0",#扩展版本必须
	"description": "first test",#扩展描述可选
	"homepage_url": "http://dearch.blog.51cto.com",#扩展主页链接
	"icons": {
	    "48": "icons/border-48.png"
	},#扩展图标可选

	"content_scripts": [
		{	"matches": ["<all_urls>"],#URL匹配规则与正则不同,表示配置所有网址
			"js": ["borderify.js"]
		}
	]#页面交互脚本
}

content_scripts告诉Firefox通过模式匹配网页的URL并加载脚本,在上面的案例中,我们要求Firefox将所有的网页全部加载一个 "borderify.js"脚本

URL匹配规则详细信息

borderify.js

最后在 "borderify" 目录下直接创建 "borderify.js":

document.body.style.border = "5px solid green";

测试效果

检查文件是否在正确的位置:

borderify/
    icons/
        border-48.png
    broderify.js
    manifest.json

打开火狐浏览器的"about:debugging"页面,点击"临时加载附加组件按钮"并选择你的附加组件目录:

组件将会被安装,现在可以新打开一个页面,页面上有一个绿色的边框,如果没有出现重启一下浏览器。 

卸载扩展

打开火狐浏览器菜单,选择"附加组件" 或者直接地址栏输入 "about:addons" 

WebEXtension开发官方网址

以上实例可以直接使用于 谷歌浏览器 。

时间: 2024-10-20 02:52:57

火狐扩展WebExtension新手入门的相关文章

【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{article}\begin{document}XXX is a SB.\end{document}这个文档呢其实是分为两部分的:一部分是\begin{document}之前的那部分也就是第一行,这一部分我们称之为导言区.导言区的内容可以不只一行,它的作用是完成文档的基础设定.比如在这个文档中,我们使用

【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织

这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的LaTeX新手入门教程(3)数学公式 [LaTeX]E喵的LaTeX新手入门教程(4)图表参考文献天下文章一大抄,抄来抄去有提高. ——白岩松常备工具:JabRef>>戳我下载<<JabRef是一款管理参考文献用的软件,相当好用.装好了以后在选项中把这两个选项改成如图示的样子.*nix用户

iOS简易柱状图(带动画)--新手入门篇

叨逼叨 好久没更新博客了,才几个月,发生了好多事情,处理了好多事情.不变的是写代码依然在继续. 做点啥子 看看objective-c的书,学着写了个柱状图,只是练习的demo而已,iOS上的图表控件已经有非常好的解决方案了. PNChart:https://github.com/kevinzhow/PNChart 这个控件是是挺不错了,喜欢的朋友可以看看,本文很多地方借鉴了PNChart,就当学习源码也可以 动手动手 先上图先上图,配色直接用PNChart的了,还蛮喜欢这种配色风格,一直不太喜欢

Java新手入门的30个基本概念

Java新手入门的30个基本概念 在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念. Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载

java新手入门

java新手入门 Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案.在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供Java培训初学者做个参考. 我在学习Java的过程中主要围绕以下几个方面来学习: 1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java. 2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以.要注意,即便对一个简单的例子也要有耐心去琢磨.调

Docker新手入门:基本用法

Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少麻烦,主要就是没有特别经典的书!Docker的<第一版Docker书>和<Docker技术入门与实战>普遍评价不高,而<Docker开发实践>和<Dockeru源码分析>又是2015年最近才出的,评价不是很多.综合看了下,最终还是选择了<Docker开发实

问题集录--新手入门深度学习,选择TensorFlow 好吗?

新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合OpenCV使用,对于新手来说,基本上不折腾个几天是很难搞定的. 其次,基于TensorFlow的教学资源非常多,中英文的都有,这对于新手也是非常有帮助的.Google做社区非常有一套,在中国有专门的一群人,会在第一时间把Google的开发者相关的进展翻译成中文. 另外,由于有Google背书,Ten

【原创】新手入门一篇就够:从零开发移动端IM

一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员,IM的价值和重要性不言自明.但从技术实现来说,IM系统的开发(尤其是移动端IM)还是存在许多技术难点和坑点的.也正因如此,优质的IM开发相关的资料.实践性成果,对于没有太多技术储备的新手来说,尤其难以获得. 本文将以新手的视角引导你阅读相关文章,以便为从零开发一个移动端IM做好方方面面的知识准备:

新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析(阿里)

1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件.整体架构,知其然且知其所以然,希望给大家在实际开发实践.学习开源项目方面提供参考. 本文作者的另两篇<高性能网络编程(五):一文读懂高性能网络编程中的I/O模型>.<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>也写的很好,有兴趣的读者可以一并看看. 关于作者: 陈彩华(