从Mac Dock启动Chrome扩展程序

时间:2016-09-25 04:43:58

标签: macos google-chrome google-chrome-extension shortcut

是否可以在Mac扩展坞中放置一个图标,用于我正在处理的Chrome扩展程序。

这里的扩展代码仅供参考。的manifest.json:

{
   "manifest_version": 2,

   "name": "Habitica",
   "author": "Sam Dale",
   "description": "A launcher to quickly get to Habitica. Especially great for Mac users.",
   "version": "1.0",
   "icons": {"16": "habitica-logo-16.png", "128": "habitica-logo-128.png", "300": "habitica-logo-300.png"},

   "browser_action": {
      "default_icon": "habitica-logo-128.png",
      "default_title": "Habitica"
   },
   "background": {
      "scripts": ["background.js"],
      "persistent": false
   }
}

background.js:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.create({ url: "https://habitica.com/#/tasks" });
});

1 个答案:

答案 0 :(得分:0)

没有API与Dock进行交互。所以,没有简单的方法。

我可以想到几种复杂的方法,但总的来说我会建议避免这个想法。

  1. 可以为不存在的网页添加快捷方式,例如https://launch-my-awesome-extension.horse/,并使用webRequest API拦截它。

    请注意,我们无法使用指向Chrome扩展程序页面的链接来回避webRequest要求:如果您尝试通过快捷方式打开它们,可能会忽略此类链接,因为{{1}的权限提升页面。

  2. 编写一个随播本机应用并使用Native Messaging API带来所有常见后果。

    复杂功能:Chrome只能启动Native Messaging,您无法启动应用来告诉Chrome一些内容;因此,当您单击停靠图标时,必须已启动一些常驻组件。

  3. 两者都很麻烦,并不是一个好主意。