我有一个 Chrome Packaged Web 应用程序(因为它需要访问串行端口,所以它是必需的),当我点击一个链接/按钮时,我希望能够从我的网站(带有一些数据)启动它网站。
如果它能够检测用户是否没有运行 chrome 或没有安装 web 应用程序并且可以将他们引导到正确的位置,那就更好了......
有没有例子?这似乎是一件显而易见的事情,但我真的很难找到任何东西......
我有一个 Chrome Packaged Web 应用程序(因为它需要访问串行端口,所以它是必需的),当我点击一个链接/按钮时,我希望能够从我的网站(带有一些数据)启动它网站。
如果它能够检测用户是否没有运行 chrome 或没有安装 web 应用程序并且可以将他们引导到正确的位置,那就更好了......
有没有例子?这似乎是一件显而易见的事情,但我真的很难找到任何东西......
要启动您可以使用的应用程序url_handlers
,最近推出了一项新功能(应该是 Chrome 31)。您可以在 URL 中传递数据。
您可以使用 chrome 网上商店的内联安装功能检查应用程序是否已安装,如果没有则启动安装。
找到了解决这个问题的更好方法。
在@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 });