Chrome扩展[一]:简易时钟
Chrome插件
喜欢Chrome,简洁的设计,强悍的内核只是一方面,应用商店里丰富的扩展和插件才是让我对Chrome爱不释手的根本原因。这些扩展增强了Chrome的使用体验,同时也提高了开发人员的效率,最近用了一个很方便的便签应用,可惜字体只支持英文,看着让人恼火的中文,索性决定自己写一个。一个扩展很容易实现,Chrome可以直接编译JS代码,需要界面时可添加html文件,方式与网页相差无几。
官方资源:
API文档
Samples
中文API
书籍:
Chrome扩展及应用开发。
Hello Chrome
效果
最后出来的效果是这样:
结构
manifest.json
每一个扩展、可安装的WebApp、皮肤,都有一个manifest.json,里面提供了重要的信息1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19{
"manifest_version": 2, //默认值 2
"name": "我的时钟", //扩展名
"version": "1.0", //版本信息
"description":"一个简单的Chrome时钟扩展", //扩展描述
"icons": { //扩展的图标
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"browser_action": { //用于在chrome主工具条的地址栏右侧增加一个图标。
"default_icon": {
"19": "images/icon19.png",
"38": "images/icon38.png"
},
"default_title": "我的时钟", //鼠标悬在扩展图标上显示的信息
"default_popup": "popup.html" //默认的html文件
}
}
HTML
1 | <!-- popup.html --> |
JS
因为Chrome不允许将javascript代码段直接内嵌入HTML文档,所以我们需要通过外部引入的方式引用JS文件。1
2
3
4
5
6
7
8
9
10
11
12
13
14function my_clock(el) {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = m >= 10 ? m : ('0' + m);
s = s >= 10 ? s : ('0' + s);
el.innerHTML = h + ":" + m + ":" + s;
setTimeout(function() {
my_clock(el)
}, 1000);
}
var clock_div = document.getElementById("clock_div");
my_clock(clock_div);
打包
进入chrome://extensions/,右上角打开开发者模式
查看效果:选择已解压的扩展程序,选择写好的文件夹即可。
程序打包:选择打包扩展程序,选择写好的文件夹,打包后得到一个crx文件。
扩展推荐
livereload:可以与sublimeText通信,实时刷新页面。
pocket:标记没有读完或者将要阅读的网页
悦读:增强阅读体验同时可以绑定Evernote
ADBlock:强大的广告拦截
极简图床:可以绑定七牛云,方便快捷的存储图片,麻麻再也不用担心我Markdown写的博客图片存哪了(其实百度云也可以)
anydo:多平台同步的GTD
作者: leeon
来源: https://leeon.im
链接: https://leeon.im/Chrome-extension-one-clock/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可