我正在尝试在我的附加组件中创建一个反馈按钮,它基本上会打开带有给定主题和电子邮件别名的电子邮件草稿。
这是我现在的尝试,但是单击按钮没有执行任何操作。 有人发现问题所在吗? :/ 我使用的是 Firefox 115.5.0esr(64 位);并将附加组件减少到最低限度以进行故障排除。
manifest.json
{
"manifest_version": 2,
"name": "My Email Extension",
"version": "1.0",
"description": "Generate email with a button click",
"icons": {
"48": "icon.png"
},
"permissions": [
"tabs"
],
"browser_action": {
"default_icon": "icon.png",
"default_title": "Generate Email",
"default_popup": "popup.html"
},
"icons": {
"48": "icon.png"
}
}
popup.html
<!DOCTYPE html>
<html>
<head>
<title>My Email Extension</title>
<script src="popup.js"></script>
</head>
<body>
<button id="generateEmail">Generate Email</button>
</body>
</html>
popup.js
document.getElementById('generateEmail').addEventListener('click', function() {
var emailUrl = "mailto:[email protected]";
chrome.tabs.create({ url: emailUrl });
});
我自己实际上找到了答案 - 我使用 MS Edge 进行故障排除:-) 这是更新后的代码:
popup.js
if (typeof browser !== 'undefined') {
// Firefox
document.getElementById('generateEmail').addEventListener('click', function() {
var emailUrl = "mailto:[email protected]";
browser.tabs.create({ url: emailUrl });
});
} else if (typeof chrome !== 'undefined') {
// Chrome or Edge
document.getElementById('generateEmail').addEventListener('click', function() {
var emailUrl = "mailto:[email protected]";
chrome.tabs.create({ url: emailUrl });
});
} else {
console.error("Browser not recognized.");
}