一起来做chrome扩展《基础介绍》
首先说明,chrome的扩展并不它的插件,网上很多说写插件,其实都是说的扩展。写扩展并不复杂,只要根据chrome提供的一系列的API进行就可以实现很多的功能。只是对API的学习是有代价的,加上国内访问chrome官网文档并不顺利。虽然360提供了一个翻译文档,而且有不少例子,但它的内容还是太少,有些问题它仍然没有涉及。所以,如果是做一个简单的应用没有什么问题,但实际的项目开发往往得不到有用的介绍和解释。
这个系列的文章将从解决一些实际的问题入手,涉及的内容大致有以下几个:
- 基础配置
- content_script和background_script
- cookie的使用
- 本地存储
- ajax请求远程数据
博主也是在学习中,所说的也是开发过程中的一些总结,并不一定正确,如果有错,还请包涵。
写扩展只有一个文件是固定的,其它的并没有什么固定的要求,如固定的格式,固定的文件夹等。这个固定的文件就是它的配置文件,一个JSON格式的文件:manifest.json,基本内容如下:
manifest.json
{
"manifest_version": 2,
"name": "My Extension",
"description": "Extension description",
"version": "1.0"
}
这是一个最简单的文件,有2个需要注意的问题:
- 目前的规定,manifest_version必须写为2,所以其它的数字就不要写了,特别是1
- JSON中,最后一项,是不能有,号的,不然它会启用失败的。
这几项不用介绍,应该都知道它们是干嘛的,它们会出现在扩展界面里,别的就没什么用了。一个真正的扩展当然不可能只有这些。它能涉及到的,博主简单归纳为两类:
- chrome浏览器的元素,如Tab,书签,历史记录等。
- 页面内容
那么,如果你的扩展需要涉及什么,就得把它添加到配置JSON里,也就是manifest.json文件中,如需要用到Tab:
{
"manifest_version": 2,
"name": "My Extension",
"description": "Extension description",
"version": "1.0",
"permissions": [
"tabs"
]
}
permissions即为允许的,它会告诉chrome,这个插件是允许操作Tab的,不然chrome就允许让你使用它Tab相关的API。所以,如果还有使用书签,或是别的什么东西时,都可以写在这里面。如,我们要使用代理相关的API:
{
"manifest_version": 2,
"name": "My Extension",
"description": "Extension description",
"version": "1.0",
"permissions": [
"tabs",
"proxy"
]
}
proxy即代表可以使用代理相关的API,诸如比类还有cookie,history等,具体相关可以查阅官方文档
chrome扩展对目录并没有严格的要求,所以,除了manifest.json这个文件必须,其它的都是按需增加。目录结构可以按你的习惯建立的命名,都没有问题。
一起来做chrome扩展《基础介绍》的更多相关文章
- 一起来做chrome扩展《页面右键菜单》
本文主要内容 contextMenus的设置 打开权限 创建菜单 点击菜单 background script向content script发送消息 1. contextMenus的设置 1.1 打开 ...
- 一起来做chrome扩展《本地存储localStorage》
chrome中的本地存储其实也是用的HTML5中localStorage,唯一区别是chrome扩展有自己的localStorage,它属于这个扩展,而不属于一个域名.得用这一点可以很好的处理扩展自己 ...
- 一起来做chrome扩展《可配置的代理》
一.本文主要涉及相关内容: chrome.proxy pacScript browser_action popup localStroage 二.预览 (代理运行截图,图中的代理服务器有防火墙,暂不对 ...
- 一起来做chrome扩展《AJAX请求》
chrome在一次更新之后,出于安全考虑,完全的禁止了content_script从https向http发起ajax请求,即使正常情况下也会在console里给出提示.这对于WEB来讲是好事,但对于扩 ...
- 解决高版本 Google Chrome 扩展程序强制停用问题 -摘自网络
1]前往这里下载你喜欢的语言的组策略模板 后缀为.adm (其他的文件自己看 https://docs.google.com/viewer?a=v&pid=sites&srcid=Y2 ...
- chrome扩展,如何阻止浏览自动关闭桌面通知.
(!!!!以前的好用的, 现在不行了~) 做chrome扩展桌面通知, 可能不想让浏览器自动关闭某个重要的桌面通知.那就不要使用 chrome.notifications.create 可以用 Web ...
- 清除页面广告?身为前端,自己做一款简易的chrome扩展吧
大家肯定有这样的经历,浏览网页的时候,左右两端广告,诸如“屠龙宝刀,点击就送”,以及最近火的不行的林子聪37传奇霸业什么“霸业面具,霸业吊坠”的魔性广告总是充斥我们的眼球. 当然有现成的扩展程序或者插 ...
- 自己做一款简易的chrome扩展--清除页面广告
大家肯定有这样的经历,浏览网页的时候,左右两端广告,诸如“屠龙宝刀,点击就送”,以及最近火的不行的林子聪37传奇霸业什么“霸业面具,霸业吊坠”的魔性广告总是充斥我们的眼球. 当然有现成的扩展程序或者插 ...
- 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩 ...
随机推荐
- NSCache
今天在优化的时候,用了NSCache,感觉没什么两样(视觉上).按理内存缓存,怎么也比从硬盘读取的要快.. dispatch_async(dispatch_get_global_queue(, ), ...
- display_inline-block_table-cell
1.display:inline-block; 兼容性:兼容到IE7+,Chrome,Firefox html: <ul class="list"> <li> ...
- 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有 ...
- AngularJS 初用总结
一直用惯jquery,初用Angularjs的初段时间,需要先了解一下她的类MVC思想. 初学时几个比较基本的概念: 1.客户端模板 2. Model View Controller (MVC) 3. ...
- java获得汉语首字母
package org.scbit.lsbi.scp.utils; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourcefor ...
- java开发JDBC连接数据库详解
JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...
- 与你相遇好幸运,Postgresql和postgis安装
笔者开发环境: windows 7 x86_64 一开始安装的是官网最新版 PostgreSQL 9.6 ,安装成功 之后安装PostGIS Bundle 2.2 for PostgreSQL x64 ...
- You don't have permission to access /index.php on this server
<Directory /> #AllowOverride none #Require all denied</Directory>
- 第01章(认识Java)
/***************** ***认识java第一章 *******知识点: **************1.开发环境搭建 **************2.开发工具使用 ********** ...
- three.js材质
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...