6

我有一个 Chrome Packaged Web 应用程序(因为它需要访问串行端口,所以它是必需的),当我点击一个链接/按钮时,我希望能够从我的网站(带有一些数据)启动它网站。

如果它能够检测用户是否没有运行 chrome 或没有安装 web 应用程序并且可以将他们引导到正确的位置,那就更好了......

有没有例子?这似乎是一件显而易见的事情,但我真的很难找到任何东西......

4

2 回答 2

7

要启动您可以使用的应用程序url_handlers,最近推出了一项新功能应该是 Chrome 31)。您可以在 URL 中传递数据。

您可以使用 chrome 网上商店的内联安装功能检查应用程序是否已安装,如果没有则启动安装。

于 2013-09-13T16:41:08.463 回答
2

找到了解决这个问题的更好方法。

在@Vincent Scheib 解决方案中,您必须将用户重定向到/some/url,或打开一个新窗口(实际上可以作为弹出窗口阻止)。从 UX 方法来看,所有这一切都不是那么好。

我的解决方案是创建应用程序并配置externally_connectable. 您必须传递将尝试打开应用程序的网站的 url 域。例如:

"externally_connectable": {
    "matches": ["*://developer.chrome.com/*"]
} 

然后,在后台脚本的打包应用程序中,您可以执行以下操作:

chrome.runtime.onMessageExternal.addListener(function(message) {
      if(message.launch){ //This parameter will be passed in sendMessage method below
          chrome.app.window.create("main.html");
      }
});

最后,要触发应用打开,您必须使用打包的应用 ID 发送消息。例如:

chrome.runtime.sendMessage("mdoedhlejmepngilmgoenbhmipoclckb", { launch: true });
于 2016-04-21T14:34:48.797 回答