Chrome extensions

November 15, 2013 21:12


自己的各种帐号的密码一直都是两个三相同的在使用,感觉略不安全,由于想弄个自动生成密码的, 本来不想重复造轮子,看了下1Password,要钱。。LastPass又感觉不爽,就感觉自己弄的才靠谱。 想着也比较简单,这两天就用下班时间写了个, ChromePwdExt

恩一个Chrome的扩展,密码生成基于已经设置的密码md5 + domain md5生成的原理非常简单, 这里就说下Chrome扩展怎么写

先说一下Chrome扩展,可以操作Chrome中的Page, Tab, Menu, 及浏览器的各种数据等等,功能非常强大, 同样,可以跨域ajax进行各种操作,扩展的视图显示都是采用html的,非常方便

首先,要写一个Chromer扩展,要先 定义好 manifest.json 文件

{
  "manifest_version": 2,

  "name": "extensions name",
  "description": "desc",
  "version": "0.2",

  "permissions": [
    "storage",
    "activeTab",
    "contextMenus"
  ],

  "browser_action": {
    “icon": 'icon.icon',
    "default_popup": "popup.html"
  }
}

上面是一个简单的manifest.json文件,定义了扩展的名称、描述,及相应的权限和扩展action, 很多操作都要先声明permissions 后才可以使用,不然执行对应的操作时会抛出异常的, action就是右上和工具栏在一起的小按钮了,点击可以弹出指定的html页面

由于只有是写了一个简单的password generator, 使用的功能也比较少,像contextMenus

chrome.contextMenus.create({
  "title": "Menu name",
  "contexts": ["editable"],
  "onclick": genericOnClick
});

创建一个editable环境下的右键菜单,就是输入框,当在输入框中右击时,你创建的会出现在弹出的菜单中

还有content_scripts,可以在指定的页面中加入自己的脚本,这样就可以修改document了, 页面通过chrome.extension.onRequest 与 chrome.tabs.sendRequest 来进行通信, sendRequest向指定tab发送一个request,对应tab的onRequest事件收到消息后, 通过回调可以向信息发送者传回数据

Chrome Developer 有非常详细的介绍,想要了解更多的同学可以看看

Comments: