【发布时间】:2020-04-16 14:55:46
【问题描述】:
基于 Chromium 的浏览器的应用页面位于 chrome://apps
我已经安装了一些应用程序。是否能够像打开文件选择框一样从 JavaScript 启动其中之一?
我可以通过将此 URL 设置为链接来打开 chrome://apps,但是单个应用呢?
【问题讨论】:
标签: javascript browser web-applications progressive-web-apps chromium
基于 Chromium 的浏览器的应用页面位于 chrome://apps
我已经安装了一些应用程序。是否能够像打开文件选择框一样从 JavaScript 启动其中之一?
我可以通过将此 URL 设置为链接来打开 chrome://apps,但是单个应用呢?
【问题讨论】:
标签: javascript browser web-applications progressive-web-apps chromium
复制自:Open Chrome in a new window (Chrome app)
遗憾的是,据我所知,没有办法做到这一点。
在应用的上下文中使用 window.open 有点麻烦,但会导致 URL 在用户的默认浏览器(不一定是 Chrome)中打开。无法控制浏览器如何选择打开它。
有一个专门针对“在 Chrome 中打开页面”创建的特定于 Chrome 应用程序的 API,chrome.browser。但是,它仍然没有提供在新窗口中打开的选项。
最接近的方法是创建自己的“浏览器”:其中包含一个应用程序窗口。然后您可以完全控制演示文稿,但它没有与 Chrome 的配置文件集成,并且可能需要额外的工作来实现对话框和浏览器控件等内容。请参阅Browser sample app 和 documentation。
【讨论】:
您可能需要应用 ID,然后您可以将其附加到 URL。我不完全确定你会如何找到,但如果你转到 chrome 上的应用程序页面,将应用程序的图标拖到浏览器中的搜索栏,你应该会得到完整的链接。
例如,我将 Google 幻灯片图标拖到搜索栏上,它给了我这个 URL chrome-extension://aapocclcgogkmnckokdopfmhonfmgoek/main.html。所以,你可以试一试!尝试打开 chrome 应用页面,然后将要在新标签页中打开的应用拖到搜索栏上。
因此,使用 Javascript:
window.open("chrome-extension://aapocclcgogkmnckokdopfmhonfmgoek/main.html", "_blank");
在新标签页中打开 Google 幻灯片应用程序。
【讨论】: