如何开发Chrome扩展程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开发Chrome扩展程序相关的知识,希望对你有一定的参考价值。

参考技术A  开始

  为了着手创建你的扩展程序,你只需要为你的扩展创建一个文件夹。程序所必须的文件只有manifest.json.,不过也推荐准备一些图片用作图标,和至少一个javascript以提供功能。一般来说还会包含html文档、样式表、图片等等其他的资源。

  Manifest文件

  每个扩展都必须在其根目录下包含一个manifest.json文件。

  这个文件里面声明了扩展的名称、版本、权限、设置选项和其他的一些和扩展相关的元数据。Manifest v1早在Chrome 18便已被弃用,而且会根据这个时间表逐渐淘汰使用Manifest v1的扩展。如果你在参考一些旧扩展的Manifest文件的话,请确认添加"manifest_version": 2.

  Google发布的Manifest v2中支持的域

  后台页

  大多数扩展都会在其manfiest.json文件内有这样的内容:

  1
  2
  3
  4
  5
  
  "background":
  "scripts": ["index.js", "other.js"]
  
  
  这一段代码指定了两个需要被加载而且要保持在后台运行的脚本,这些脚本会在扩展的后台页运行。后台页是一个在扩展的进程中生成并运行的页面,存在时间会和扩展的生命周期等长。后台页可用来作为扩展的其他界面的控制器,用来维护某个状态或者保持某些活动。如果你需要用后台页来声明一些标记来用,可以把一个HTML文件名指定给page选项。

  

  事件页

  后台页会从扩展被加载的时候被装载,而且会一直留在内存里。这是因为如果有些状态需要被长时间维护,或者需要被扩展的其他部分访问。但是如果你没有这个需求,那么应该尽可能的使用事件页。事件页其实只是相当于一个包含了”persistent”: false条目的后台页,这一行语句告诉Chrome可以不需要把后台页保留在内存里。相对来说,事件页也会在最开始被装载,但是一旦指定的脚本运行完毕,事件页便会从内存卸载,而且会在需要的时候被再次加载(比如用来回应某些操作)。

  

  以上便是在为扩展添加功能之前所需要知道的。

  交互

  利用Google提供的大量API,你的扩展与浏览器交互或者为用户提供功能都变得方便。

  chrome.* APIs

  Chrome的程序和扩展程序都非常喜欢调用chrome.* APIs,这些API可以让你通过不同的方式来操控浏览器,API通常会在后台脚本里面被调用,这是我找到的一些常用API:

  chrome.tabs 标签页:新建、刷新、关闭、访问和操控标签页
  chrome.history 历史:访问用户浏览历史
  chrome.bookmarks 书签:添加、编辑、移除和搜索用户书签
  chrome.events 事件:监听或者管理浏览器发生的事件
  chrome.commands 命令:添加或者改变键盘命令
  chrome.contextMenus 右键:添加条目到右键下文菜单
  chrome.omnibox 多功能框(地址栏):添加多功能框关键字,使用户可以向扩展发送指令或者激活扩展
  

  其他API

  Chrome程序和扩展程序通常也会用到其他的API,包括如本地存储、地理位置、缓存、画布等新型的HTML5 API。你也可以用普通的JavaScript或者webkit API来实现。

  

  声明权限

  有些Chrome API的功能必须要在manifest.json文件中声明相关权限才能被调用,通过在permissions 域中把值设成相应权限名称,或者是通识符组成的数组。

如何启用被禁用的Chrome第三方插件

使用开发者模式安装

启用被Chrome停用的第三方扩展插件常用方法:在Chrome扩展管理页面,勾选开发者模式。然后浏览第三方扩展文件夹(未打包),
或者将第三方扩展安装包crx格式,拖进去安装即可。
以开发者模块安装插件,都是可以安装成功的,但是这样的解决办法虽然简单,但是每次打开Chrome浏览器,它都会有提示(完全善意而且为你安全考虑的提醒):

“请停用以开发者模式运行的扩展程序。以开发者模式运行的扩展程序可能会损害您的计算机。如果您不是开发者,那么,为安全起见,应停用以开发者模式运行的扩展程序。”
参考技术A 具体操作如下:
1. 直接本地安装
1. 下载扩展程序/脚本程序,将其保存在本地计算机内;
2. 将保存下来的 *.crx 文件或 *.js 文件直接拖拽到浏览器的“扩展程序”(chrome://chrome/extensions/)页面。

( 注:只有拖动到此页面才能安装,其它页面无效)

3. 按照提示安装

4. 安装成功

2. 开发模式安装
也是先将扩展程序下载保存到本地,然后将下载来的文件后缀名 *.crx 改成 *.rar,这样你就得到了一个压缩文件,然后右键解压这个压缩文件得到一个文件夹。然后在浏览器里打开扩展程序页面( chrome://settings/extensions),选中右上方开发人员模式复选框,然后再点击左上方的”载入正在开发的扩展程序“按钮,选中刚刚解压出来的文件夹然后点确定即可。

3. 开启浏览器支持
右击 Chrome 桌面快捷方式,选择-"属性"-"快捷方式",然后在"目标"一栏尾部添加参数 --enable-easy-off-store-extension-install ,然后再运行浏览器就可以像以前那样正常安装 Web Store 之外的第三方扩展应用及脚本程序了。本回答被提问者采纳

以上是关于如何开发Chrome扩展程序的主要内容,如果未能解决你的问题,请参考以下文章

当我不是开发人员时,如何链接到Chrome网上应用店中的Chrome扩展程序?

如何测试已发布的Chrome扩展程序

如何使用 Chrome 扩展程序自动保存 Google Chrome 开发者工具的网络面板日志?

在开发 chrome 扩展程序时,如何打开一个空白页来运行脚本?

如何检测 Chrome 中是不是安装了 Google Cast 扩展程序?

如何在 Chrome 扩展程序中禁用同源策略?