如何在选项卡而不是单独的窗口中运行 Chrome 应用程序?
我认为如果您知道该应用程序的 URI,这将是可能的,但是您如何发现该 URI 呢?
答案1
您可以在 Chrome 的扩展程序页面中找到 URI,或者如果应用程序未在此处列出,您可以在chrome://apps/
“在 Web 商店中查看”时看到它们,链接包含 URI。或者,您可以创建应用程序的快捷方式,然后检查属性下的“目标”字段。
窗口行为记录在应用程序目录中的 manifest.json 中。例如,我有一个名为 gistbox 的应用程序,其中有一个条目:
"launch": {
"container": "panel",
"height": 768,
"web_url": "https://app.gistboxapp.com/",
"width": 1200
},
将“panel”值更改为“tab”应该会改变行为。或者,右键单击下面的应用程序图标chrome://apps/
也可以让我选择取消选中“以窗口形式打开”。
另一个以窗口形式打开但没有“容器”字段或任何右键单击选项的“应用程序”(技术上是扩展)是“Chrome 的 Web 服务器”。它有一个后台条目:
"background": {
"scripts": [ "underscore.js", "encoding.js", "common.js", "log-full.js", "mime.js", "buffer.js", "request.js", "stream.js", "chromesocketxhr.js", "connection.js", "webapp.js", "websocket.js", "handlers.js", "httplib.js", "upnp.js", "background.js" ]
}
"optional_permissions": [ "background" ]
在 background.js 中,窗口是通过以下方式创建的:chrome.app.window.create
。我还没有测试过,但我认为将其更改为 应该chrome.app.tab.create
会导致应用程序在选项卡而不是窗口中启动。