【问题标题】:How to use "system_indicator" in the manisfet of a Chrome Packaged App?如何在 Chrome 打包应用程序的清单中使用“system_indicator”?
【发布时间】:2013-12-16 21:03:23
【问题描述】:

我正在尝试在系统菜单栏中创建一个带有图标的 Chrome 包应用程序,如下所述:https://docs.google.com/document/d/1QhhfR33Y28Yqnnoa_Sl3fnZK_mKtwt4dZe6kNyJ_MjU/edit

Google Hangout 应用可以实现这个功能(它的行为并不完全相同),但我没有找到任何好的文档来做同样的事情。

在 Google Packaged App 的清单页面中,我们可以看到“system_indicator”字段。是我要找的吗?当我尝试将此字段设置为图标的 url 时,Chrome 会返回此错误:

“system_indicator”需要 Google Chrome 开发频道或更高版本,但这是测试版频道。

我还从 chromium 项目中找到了这个旧页面:http://www.chromium.org/developers/design-documents/extensions/proposed-changes/apis-under-development/system-indicator-api

所以我的问题很简单:我可以为我的应用构建这个功能吗?如果是,如何?

感谢您的帮助! :-)

【问题讨论】:

    标签: javascript google-chrome chromium google-chrome-app


    【解决方案1】:

    环聊应用程序使用“面板”类型的窗口来实现其行为,请参阅亚伯拉罕在 How to build an chrome extension like Google Hangouts 上的回答。本质上,当你打开一个窗口时,添加 type="panel" 参数:

    chrome.windows.create({ url: 'https://mobile.twitter.com/', type: 'panel' });
    

    关于您提到的错误,这是因为您使用的是 Beta Chrome 版本,并且它已经意识到该功能在此版本中不可用,并建议您需要开发通道或主干版本。在此处了解有关 Chrome 发布渠道的更多信息:http://www.chromium.org/getting-involved/dev-channel

    【讨论】:

    • 好的,谢谢!它似乎适用于扩展:-) 是否可以对打包应用程序做同样的事情?我发现这个old doc for Packaged App 在清单中使用了术语“面板”。我是法国人,我不明白它是否与扩展相同。
    • 那么提交的“system_indicator”是什么。我没有找到任何文档。
    • "system_indicator" 正是您的想法和需要。但是,自去年 1 月以来,它一直处于不断变化的状态:请参阅相应的 Chrome bug。它需要复兴。不过,如果您愿意同时尝试一下,您可以找到 2 个非常基本的示例 here
    • 非常感谢!我已经运行了这些示例并且它有效。如果 Chromium 团队为未来的需求写一份关于它的文档,那就太好了:-)
    • 是的!这次也不支持“system_indicator”。希望他们会支持它..
    【解决方案2】:

    system_indicator 是一个实验性 API,部分引入到开发通道中,但后来被删除,因为 Chrome/Chromium 团队认为在所有平台上维护成本太高。此 API 的完整历史可在 issue 142450 获得。

    也就是说,目前还没有系统托盘图标的 API。

    【讨论】:

    • 我也很好奇,因为自从这个原始线程以来已经过去了一段时间,我想知道是否有地方可以找到更多信息。我问是因为当前的环聊应用程序在使用 Chrome 的稳定频道构建 (chrome.google.com/webstore/detail/google-hangouts/…) 时显然有一个状态图标(在 OSX 上)。然而,当我尝试在清单中调用system_indicator 时(与环聊扩展相同),我收到错误消息。有什么技巧可以告诉你这是怎么回事?
    • 关于环聊扩展:它要么使用本地二进制代码在此处添加图标,要么使用不公开的 API。 Hangouts was whitelisted to use an API that was not available for any other extension,所以这个 API 可能也会发生同样的情况。
    • 我联系了 Chrome 扩展团队的一位联系人,您说的没错。环聊扩展程序被列入了对 system_indicator API 的唯一访问权限的白名单。
    猜你喜欢
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多