Chrome Anki Quick Adder 开源项目教程
1. 项目的目录结构及介绍
Chrome Anki Quick Adder 项目的目录结构如下:
chrome-anki-quick-adder/
├── _locales/
│ ├── en/
│ │ └── messages.json
│ └── zh_CN/
│ └── messages.json
├── assets/
│ ├── icon-128.png
│ ├── icon-48.png
│ └── icon.svg
├── css/
│ └── style.css
├── js/
│ ├── background.js
│ ├── content.js
│ └── popup.js
├── manifest.json
└── popup.html
目录结构介绍
_locales/
:包含项目的多语言支持文件,目前支持英语(en)和简体中文(zh_CN)。assets/
:存放项目的图标文件。css/
:存放项目的样式文件。js/
:存放项目的JavaScript文件,包括后台脚本(background.js)、内容脚本(content.js)和弹出窗口脚本(popup.js)。manifest.json
:项目的配置文件,定义了扩展的基本信息和权限。popup.html
:弹出窗口的HTML文件。
2. 项目的启动文件介绍
项目的启动文件主要是 manifest.json
和 background.js
。
manifest.json
manifest.json
是 Chrome 扩展的配置文件,定义了扩展的基本信息、权限和启动配置。以下是该文件的部分内容:
{
"manifest_version": 2,
"name": "Anki Quick Adder",
"version": "1.0",
"description": "Quickly add words to Anki from Chrome",
"permissions": [
"activeTab",
"storage",
"https://*/"
],
"background": {
"scripts": ["js/background.js"],
"persistent": false
},
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "assets/icon-48.png",
"48": "assets/icon-48.png",
"128": "assets/icon-128.png"
}
},
"icons": {
"16": "assets/icon-48.png",
"48": "assets/icon-48.png",
"128": "assets/icon-128.png"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["js/content.js"]
}
]
}
background.js
background.js
是扩展的后台脚本,负责处理扩展的后台逻辑。以下是该文件的部分内容:
chrome.runtime.onInstalled.addListener(function() {
console.log('Anki Quick Adder installed');
});
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.sendMessage(tab.id, {action: "addWord"}, function(response) {
console.log(response.message);
});
});
3. 项目的配置文件介绍
项目的配置文件主要是 manifest.json
。
manifest.json
manifest.json
文件中包含了扩展的基本信息、权限和启动配置。以下是该文件的部分内容:
{
"manifest_version": 2,
"name": "Anki Quick Adder",
"version": "1.0",
"description": "Quickly add words to Anki from Chrome",
"permissions": [
"activeTab",
"storage",
"https://*/"
],
"background": {
"scripts": ["js/background.js"],
"persistent": false
},
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "assets/icon-48.png",
"48": "assets/icon-48.png