runfastlynda

如何写一个 Chrome 扩展应用

January 07, 2016

动手之前的有用信息

Chrome 扩展应用由哪几部分组成?

Chrome 扩展应用本质上来说是一个 web 页面,扩展文件以 .crx 为后缀名,解压后的扩展应用都应该包含下面的文件:

  • 一个manifest文件
  • 一个或多个html文件
  • 可选的一个或多个javascript文件
  • 可选的任何需要的其他文件,例如图片
扩展应用的界面

很多应用会以 browser action 或 page action 的形式在浏览器界面上展现出来。每个应用最多可以有一个 browser action 或 page action。当应用的图标是否显示出来是取决于单个的页面时,应当选择 page action;当其它情况时可以选择 browser action。 browser action page action

popup 弹出窗口

popup 属于 Browser Actions,当点击图标时出现这个窗口,可以放置任何 HTML 元素,它的宽度是自适应的。

如下图中是 Google 翻译的popup窗口:

Background Pages 后台页面

绝大多数应用都包含一个背景页面( background page ),用来执行应用的主要功能。但是这个窗口不会显示,它是扩展程序的后台服务,它会一直保持运行。比如在一些需要数据保存程序中,如果当前用户关闭popup,就需要 Background Pages 来进行相应的操作。

自己动手写一个 Chrome 扩展应用

第一步:建立 manifest.json 文件

manifest.json 是元数据文件,这里面包含着扩展应用的名称,描述,版本号等属性。例如:

{
"name": "My Extension",
"version": "2.1",
"description": "This is a test",
"browser_action": {
    "default_title": "test",
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

其中 name 代表应用程序名,version 代表版本号,description 代表功能描述。browser_action 代表扩展图标段显示,它会定义图标地址(需要在文件夹中添加)、标题(也就是鼠标悬停提示)和默认的 popup 页面。我们这里定义的 popup 页面为 popup.html。

第二步:定义 popup.html

接下来开始定义 popup.html 显示,它不需要使用 html、head 和 body 标签,可以直接写上样式、脚本和 html。例如:

<style type="text/css">
*{
  margin:0;padding:0;
}
</style>
<div>test</div>

调试

第二步做完就是一个简单的 Chrome 扩展应用。此时,在 Chrome 中输入 chrome://settings/extensions 打开插件页,先勾选开发者模式,这样会出现一个载入插件的选项,如下图:

点击载入插件后,在路径中找到保存文件的文件夹然后打开就行了,如果顺利的打开,就说明你的插件没有任何问题,如果错误的话,他会提示你在哪里错了,然后按照他的提示修改就行了。

发布

制作好后,要想发布需要提交给 Google 进行审核,提交地址 注意要压缩成zip格式后提交,不要用.crx格式。上传后,填写相关信息,然后就是等待审核上线。

到此一个简单的 Chrome 扩展应用就完成了,当然它可以做的更多,其他的参数建议大家查看 Google 的官方文档。


评论没有加载,检查你的局域网

Cannot load comments. Check you network.