如何在选项卡而不是单独的窗口中运行 Chrome 应用程序?

如何在选项卡而不是单独的窗口中运行 Chrome 应用程序?

如何在选项卡而不是单独的窗口中运行 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会导致应用程序在选项卡而不是窗口中启动。

相关内容