2016-09-25 115 views
0

是否可以在Mac扩展坞中为我正在处理的Chrome扩展插入图标。从Mac Dock启动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" }); 
}); 

回答

0

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

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

  1. 人们可以将快捷方式添加到一个不存在的网页,比如说,https://launch-my-awesome-extension.horse/,并与webRequest API拦截它。一个不能用一个链接到一个Chrome扩展页面

    注意回避webRequest要求:这样的链接可能会被忽略,如果你尝试通过快捷方式打开它们由于chrome-extension://页提升的权限。

  2. 编写一个伴随原生应用程序,并使用Native Messaging API以及所有常见后果。

    并发症:Chrome只能启动本地消息传递,你不能启动一个应用程序来告诉Chrome的东西;所以当你点击停靠栏图标时,必须有一些常驻组件已经启动。

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

+0

感谢您的详细解答。 – Sam