chrome 之所以越来越好用,很大一部分原因归功于功能丰富的插件;对于chrome忠实用户来说,了解和开发一款适合自己的chrome插件,确实是一件很cool的事情。

了解chrome 插件

chrome 插件个人理解:就是一个html + js +css + image的一个web应用;不同于普通的web应用,chrome插件除了兼容普通的js,json,h5等api,还可以调用一些浏览器级别的api,例如收藏夹,历史记录等。

开始写第一个插件

文件结构

一个简单的demo,文件目录如下

和普通的web文件没有什么区别,简单介绍下

html:存放html页面

js :存放js

locales :存放了一个多语言的兼容【可无】

image :放了两张图片【初期图标】

manifest :核心入口文件

写一个manifest

直接上代码:

{

"name": "hijack analyse plug",

"version": "0.0.1",

"manifest_version": 2,

// 简单描述

"description": "chrome plug analyse and guard the http hijack",

"icons": {

"16": "image/icon16.png",

"48": "image/icon48.png"

},

// 选择默认语言

"default_locale": "en",

// 浏览器小图表部分

"browser_action": {

"default_title": "反劫持",

"default_icon": "image/icon16.png",

"default_popup": "html/test.html"

},

// 引入一个脚本

"content_scripts": [

{

"js": ["script/test.js"],

// 在什么情况下使用该脚本

"matches": [

"http://*/*",

"https://*/*"

],

// 什么情况下运行【文档加载开始】

"run_at": "document_start"

}

],

// 应用协议页面

"permissions": [

"http://*/*",

"https://*/*"

]

}

test.js 文件

/**

* @author: cuixiaohuan

* Date: 16/4/13

* Time: 下午8:41

*/

(function(){

/**

* just test for run by self

*/

console.log('begin');

})();

test.html 文件

just for test

test

运行插件

chrome 中输入:chrome://extensions

选择加载已解压的插件-》选择文件根目录即可。

效果如下:

一个基本的插件变完成了,勾选已启用,随便打开一个网页,会看到log中输出如下

点击页面上面的小图标如下图:

优化建议

一个小的插件已经完成,但是还有更多的api和有趣的事情可以去做。下面是360文档中给出一些优化建议,共勉。

确认 Browser actions 只使用在大多数网站都有功能需求的场景下。确认 Browser actions 没有使用在少数网页才有功能的场景, 此场景请使用page actions。

确认你的图标尺寸尽量占满19x19的像素空间。 Browser action 的图标应该看起来比page action的图标更大更重。

尽量使用alpha通道并且柔滑你的图标边缘,因为很多用户使用themes,你的图标应该在在各种背景下都表现不错。不要不停的闪动你的图标,这很惹人反感。

chrome 插件 html代码,【chrome 插件一】开发一个简单chrome浏览器插件相关推荐

  1. 超详细带你入门开发一个超实用的浏览器插件

    相信大家平时在电脑上逛掘金.知乎网站时,肯定有看到过下面超级烦人的跳转拦截确认页面 虽然这种拦截的初衷是好的,但是我相信大家平时肯定不会因为有了这个拦截提醒页面,就会对即将打开的网站安全性提高自己的警 ...

  2. 帆软官方的数据工厂插件太贵了。自己开发一个简单好用。

    帆软官方的数据工厂插件太贵了.自己也开发一个,先看下界面: 自己开发的现在支持HTTP,HTTPS的GET,POST请求,支持URL从配置文件读取,支持URL加密请求结果支持json,xml,支持对请 ...

  3. python游戏最简单代码-如何利用Python开发一个简单的猜数字游戏

    前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(high)&q ...

  4. 【Chrome浏览器插件开发】浏览器插件运行机制03之实战使用Vue.js 3 + Vite 2开发出简易的浏览器插件(含源码)

    文章目录 知识点: 一.使用 vite 创建项目 1.1 环境搭建 1.2 安装vite工具 1.3 创建vite项目 1.4 进入项目并安装依赖 1.5 修改端口 1.6 运行项目 二.创建项目资源 ...

  5. 【小5聊】发布开发好的google浏览器插件到谷歌应用商店

    将自己开发好的google浏览器插件发布到谷歌应用商店 温馨提示:前提你的网络要能够上国外的网站哦,俗称翻墙 1. 注册为 Chrome 网上应用店开发者 开发者控制台,点击跳转 一步一步填写,就是注 ...

  6. 如何添加MySQL插件_如何开发一个自定义的MySQL插件

    MySQL自带了很多插件,比如半同步插件.审计插件.密码验证插件等等,甚至MySQL存储引擎也是以插件方式实现的.MySQL开放的插件接口,为开发者开发自定义插件提供了便利.本文将介绍如何快速开发一个 ...

  7. Android-实现一个简单的自动翻译插件

    目录 实现一个简单的自动翻译插件 实现思路 几个重要的实现方法 1.解析xml 2.写文件 3. 翻译 使用 实现一个简单的自动翻译插件 最近在开发项目是要将Android相关的资源进行国际化,需要将 ...

  8. 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。

    开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文 ...

  9. 利用WCF的callback机制开发一个简单的多人游戏模型

    本文介绍了如何利用WCF和callback机制开发一个简单的多人在线游戏模型. 运行过程如下: 当game service 启动之后,若干个客户端便会自动连接到服务器.当某个客户端点击join gam ...

  10. [译]使用 Rust 开发一个简单的 Web 应用,第 4 部分 —— CLI 选项解析

    原文地址:A Simple Web App in Rust, Part 4 -- CLI Option Parsing 原文作者:Joel's Journal 译文出自:掘金翻译计划 本文永久链接:g ...

最新文章

  1. AOSuite V2.7 发布,JavaEE快速开发平台
  2. redis的info指令详解
  3. 微软官方的SqlHelper
  4. SpringMVC @RequestBody ajax传递对象数组
  5. HDU - 2196 Computer(树形dp)
  6. CUDA编程之快速入门-----GPU加速原理和编程实现
  7. Basic INFO: InstallShield中如何获取所调用Exe的返回值
  8. Servlet萌新基础
  9. 腾讯又“撒钱”了!奖励2.28万员工800万股,人均16.6万港元 网友:福利界天花板...
  10. gba徽章机器人_《徽章机器人》倒计时网站开启 20周年纪念插画欣赏
  11. 南阳市服务器主机销售,南阳市服务器价格
  12. 构建自己的PHP框架(MVC)
  13. C#.NET通用权限管理系统组件中用少数几行代码实现记录页面状态
  14. 【BP预测】基于BP神经网络实现混凝土强度预测含Matlab源码
  15. mysql主键和唯一索引_主键和唯一索引的区别
  16. 机器学习笔记 - 什么是高斯混合模型(GMM)?
  17. mysql查询范围数据_MySQL通过POIN数据类型查询指定范围内数据
  18. shopnc定时任务
  19. 重磅!亚马逊创始人贝佐斯将于7月飞往太空,人类征服太空的野心从未停止!| 硅谷速递...
  20. PMOS管原理与应用

热门文章

  1. Wap模拟器,pc端浏览器,手机wap网站,web项目
  2. 哆啦A梦的神奇口袋 - 这全是宝藏 https://baozangku.com/
  3. 数据分析 超市条码_超市商品管理的11个常见问题 | 经验借鉴 | 商品管理
  4. MOSFET手册解读MOS管参数解读(转)
  5. 用HTML实现旋转魔方!很有意思
  6. 基于ZigBee的远程温度监测系统.
  7. 风力摆控制系统设计经验总结
  8. dtcms php,[.net学习]dtcms从前台Flash XSS到后台Getshell
  9. 对称加密与非对称加密算法
  10. 时间管理-番茄工作法