如何通过单击 Chrome 扩展程序图标打开 mailto link?
How to open a mailto link with a click on a Chrome extension icon?
使用以下代码,如果用户单击 Chrome 扩展图标,我会尝试在选项卡中打开 mailto:
link。但是,单击该图标后,没有执行任何操作。
manifest.json
{
"manifest_version": 2,
"name": "Extension",
"description": "Description",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"tabs"
]
}
popup.js
chrome.browserAction.onClicked.addListener(function tab) {
var emailUrl = "mailto:address@domain.com";
chrome.tabs.create({ url: emailUrl });
};
您的代码存在多个问题:
- 你永远不需要你popup.js。
- 您JavaScript代码无效。
我建议使用 eventPage 来触发电子邮件 link:
manifest.json
{
"manifest_version": 2,
"name": "Extension",
"description": "Description",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["eventPage.js"],
"persistent": false
}
}
eventPage.js
chrome.browserAction.onClicked.addListener(tab => {
chrome.tabs.create({ url: 'mailto:address@domain.com' })
})
使用以下代码,如果用户单击 Chrome 扩展图标,我会尝试在选项卡中打开 mailto:
link。但是,单击该图标后,没有执行任何操作。
manifest.json
{
"manifest_version": 2,
"name": "Extension",
"description": "Description",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"tabs"
]
}
popup.js
chrome.browserAction.onClicked.addListener(function tab) {
var emailUrl = "mailto:address@domain.com";
chrome.tabs.create({ url: emailUrl });
};
您的代码存在多个问题:
- 你永远不需要你popup.js。
- 您JavaScript代码无效。
我建议使用 eventPage 来触发电子邮件 link:
manifest.json
{
"manifest_version": 2,
"name": "Extension",
"description": "Description",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["eventPage.js"],
"persistent": false
}
}
eventPage.js
chrome.browserAction.onClicked.addListener(tab => {
chrome.tabs.create({ url: 'mailto:address@domain.com' })
})