如何通过单击 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 });
};

您的代码存在多个问题:

  1. 你永远不需要你popup.js。
  2. 您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' })
})