我有一个Chrome Packaged Web应用程序(需要它才能访问串行端口),我希望能够在点击链接时从我的网站(包含一些数据)启动它该网站上的按钮。
如果它能够检测到用户是否没有运行chrome或者没有安装Web应用程序并且可以将它们引导到正确的位置,那就更好了......
有没有例子?这似乎是一个显而易见的事情,但我真的很难找到任何东西......
答案 0 :(得分:7)
要启动应用,您可以使用url_handlers
,这是最近的新功能landed(应该使Chrome 31成为可能)。您可以在URL中传递数据。
您可以检查是否已安装某个应用,如果没有,则使用Chrome网上应用店的inline install功能启动安装。
答案 1 :(得分:2)
找到了解决此问题的更好方法。
在@Vincent Scheib解决方案中,您必须将用户重定向到/ some / url,或者打开一个新窗口(实际上可以阻止弹出窗口)。所有这一切在UX方面都不太好。
我的解决方案是创建应用并配置externally_connectable
。您必须通过将尝试打开该应用程序的网站的网址域。例如:
"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 });