配置文件manifest.json
(0)每个插件都必须要有name和version
name不超过45个字符 version介于0到65535之间,description不超过132个字符
(1)"chrome_url_overrides": {
"newtab": "newtab.html"
},
新建Tab时的默认页面,用newtab.html覆盖默认的页面
(2)
{
"name": "My extension",
...
"browser_action": {
"default_icon": "images/icon19.png", // required
"default_title": "Google Mail", // optional; shown in tooltip
"popup": "popup.html" // optional
},
...
}
浏览器行为,默认icon,默认title,默认弹出页面。
(3)
{
"theme":
{
"images":
{
"theme_toolbar": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY34MEDA",
"theme_ntp_attribution": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUYqpMEDA",
"theme_frame": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUYqJMEDA",
"theme_tab_background": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY4YMEDA",
"theme_ntp_background": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY-KcFDA"
},
"colors":
{
"ntp_section_text": [255, 255, 255],
"tab_text": [0, 0, 0],
"frame": [0, 0, 0],
"ntp_background": [0, 0, 0],
"ntp_link": [255, 255, 255],
"tab_background_text": [0, 0, 0],
"ntp_text": [255, 255, 255],
"ntp_section": [255, 255, 255, 0.6],
"ntp_section_link": [6, 45, 117],
"ntp_header": [150, 150, 150, 1],
"toolbar": [250, 250, 250],
"bookmark_text": [0, 0, 0]
},
"tints":
{
"buttons": [0.589, 0, 0.5]
},
"properties":
{
"ntp_background_repeat": "no-repeat",
"ntp_logo_alternate": 1,
"ntp_background_alignment": "top"
}
},
"version": "3",
"name": "AT_Rampage_v2"
}
Chrome的源代码中关于theme的一部分
const int kThemeableImages[] = {
IDR_THEME_FRAME,
IDR_THEME_FRAME_INACTIVE,
IDR_THEME_FRAME_INCOGNITO,
IDR_THEME_FRAME_INCOGNITO_INACTIVE,
IDR_THEME_TOOLBAR,
IDR_THEME_TAB_BACKGROUND,
IDR_THEME_TAB_BACKGROUND_INCOGNITO,
IDR_THEME_TAB_BACKGROUND_V,
IDR_THEME_NTP_BACKGROUND,
IDR_THEME_FRAME_OVERLAY,
IDR_THEME_FRAME_OVERLAY_INACTIVE,
IDR_THEME_BUTTON_BACKGROUND,
IDR_THEME_NTP_ATTRIBUTION,
IDR_THEME_WINDOW_CONTROL_BACKGROUND
};
所有的图片在Chrome里的定义列表
theme_toolbar:(对应IDR_THEME_TOOLBAR)工具栏图片
theme_ntp_attribution:(对应IDR_THEME_NTP_ATTRIBUTION)
theme_frame:(IDR_THEME_FRAME)边框图片
(4)
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Permissions:要想使用某些功能需要加在permissions里使其获得权限
要想使用BookMark APIs需要先声明bookmarks
(5)permissions:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/"
],
可以是已定义的应用(例如tabs bookmarks等),也可以是一个或多个符合规范的主机地址,若要想使用XMLHttpRequest异步获取数据需要在permissions里加http://*/*以获得跨域访问的权限例如:
"permissions": ["tabs","http://*/*"]
(6)background_page:用来在后台处理数据,长时间运行的脚本,管理状态和任务,程序向background_page查询状态,background_page收到状态更改就通知程序更改状态