如何从网络链接打开Chrome应用

时间:2014-12-18 15:49:05

标签: html google-chrome-app

我正在尝试创建一个简单的html链接,以便在点击它时打开Chrome应用。让我们使用以下示例:

我已经安装了https://chrome.google.com/webstore/detail/videostream-for-google-ch/cnciopoikihiagdjbjpnocolokfelagl

上找到的应用

如果我从Chrome菜单中打开该应用,它将在新的浏览器标签中打开该应用,并在地址栏中显示chrome-extension://cnciopoikihiagdjbjpnocolokfelagl/app.html作为网址。

所以,天真的我认为如果链接被点击,我可以指定该URL以使其打开,即:

<a href="chrome-extension://cnciopoikihiagdjbjpnocolokfelagl/app.html">Link to the installed Chrome App</a>

但这不起作用。我该怎么做才能正确链接到(已安装的)应用程序?

3 个答案:

答案 0 :(得分:2)

如果您控制了相关应用,可以使用externally_connectable property并听取启动应用的请求。

但似乎你没有控制那个应用程序。普通网页代码没有特权,无法调用chrome-extension://网址等。

您可能会进行启动器扩展。使用management API,您可以使用

启动应用
chrome.management.launchApp("cnciopoikihiagdjbjpnocolokfelagl");

可以再次使用externally_connectable通过web-to-extension messaging触发。但这显然要求您的用户安装了两个不同的Chrome附加组件,相关的应用程序和您的启动器垫片。

答案 1 :(得分:0)

url_handlers

如果您是该应用的所有者,我建议您使用url_handlers。 这些内容需要在您的应用manifest.json中注册。

...
"url_handlers": {
  "openApp": {
    "matches": [
      "https://www.yourVerifiedDomain.com/openApp"
    ],
    "title": "Open App"
  },
}
...

然后,您可以通过网络或扩展程序中的任意位置使用简单链接启动应用程序。

<a href="https://www.yourVerifiedDomain.com/openApp">Open App</a>

management permission

如果你是不是应用的所有者,那么你需要管理员的许可,正如Xan已经指出的那样:

chrome.management.launchApp("<appId>");

答案 2 :(得分:-1)

我有另一种解决方案。我的用例是我已经编写了一个Chrome应用程序,我需要客户使用一次,而且只需要一次。我试图想出一个友好的方法来排除这些步骤:

  1. 点击Chrome中的三栏图标
  2. 点击更多工具
  3. 点击扩展程序
  4. 滚动到底部,点击获取更多扩展程序
  5. 等等,等等,等等。

    相反,您可以在Google Chrome网上应用店中查找自定义Chrome应用,并获取网上商店链接。

    使用上述原始问题中提到的Chrome应用程序来获取链接。

    https://chrome.google.com/webstore/detail/videostream-for-google-ch/cnciopoikihiagdjbjpnocolokfelagl

    如果您之前从未见过Chrome应用,那将非常方便。对于我的情况,这就是我真正需要的。这里提供的信息(原始问题回答后1。5年),以防其他人有类似的需求。以下是Chrome应用商店的链接:

    https://chrome.google.com/webstore/category/apps