为 Chrome / Chromium 桌面应用程序设置自定义 URL

das*_*eks 9 google-chrome chromium

您可以创建在自己的干净窗口中打开网站的 Chrome 应用程序,无需所有浏览器控件,就好像它是网站的独立应用程序一样,只需打开所需的网站,然后执行以下操作:

\n

\xe2\x8b\xae-> More tools-> Create shortcut...-> 检查\xe2\x98\x91 Open as Window

\n

但是,这将使用当前 URL,并且您无法指定自定义 URL。

\n

就我而言,我想将 Microsoft Teams 网络版本添加为 Chrome 应用程序,但在登录后团队会直接重定向到最后一个对话。

\n

因此,https://teams.microsoft.com/_#/类似的内容https://teams.microsoft.com/_#/conversations/General?threadId=19:291b410adc6749a828@thread.skype&ctx=channel将被用作 Chrome 应用程序 URL,而不是 URL。

\n

这是不可取的,因为我不希望特定的(旧的)对话成为默认对话。

\n

有没有办法为 Chrome 应用程序设置自定义 URL?

\n

Ste*_*eve 6

我发现最好的方法是在创建快捷方式之前更改 URL。

您可以使用 Chrome Devtools 和history控制台中的对象来执行此操作。

例如,假设我想要一个到https://www.messenger.com. 问题是,当我登录 Messenger 时,该确切的 URL 始终会转发到与我的热门聊天关联的 URL。

在 Chrome Devtools 中,我可以粘贴history.pushState({}, "", "/"),URL 将更改为https://www.messenger.com。然后我可以创建一个 Chrome 快捷方式,它将使用该 URL。

您可以更改第三个参数,使 URL 成为您想要的任何内容(相对于域名)。例如,history.pushState({}, "", "/t/threadname")将使 Chrome 快捷方式为https://www.messenger.com/t/threadname


das*_*eks 2

ExtensionsChrome 会在您当前配置文件的文件夹中为每个应用程序创建一个新扩展程序。
您可以通过打开chrome://version/并查看配置文件路径条目来找到该文件夹​​。

在该Extensions文件夹中,您可以找到每个扩展/应用程序的不同文件夹。通过在桌面上打开应用程序启动器的设置并检查命令来查找正确的应用程序 ID。它将--app-id=告诉您文件夹名称。

例如: /usr/bin/chromium --profile-directory=Default --app-id=ioadaoddehcpmmmfbhcllmpknanfnena

打开 Extensions/<app-id>/xxxx.x.xx.xxxxx_0/manifest.json

{
   "app": {
      "display_mode": "browser",
      "icon_color": "#4C53BC",
      "launch": {
         "web_url": "https://teams.microsoft.com/_#/"
      },
    ...
   "manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)

编辑"web_url"条目并将其设置为您想要的/缩短的 URL。
还要添加一个附加"manifest_version": 2元素(确保 JSON 有效,如果将其添加为最后一个元素,请在前一个元素后添加一个逗号)。

为了真正使更改生效,您必须再次加载应用程序。

打开chrome://extensions/并在右上角切换开发者模式。
然后单击并加载包含您刚刚编辑的Load unpacked文件夹(格式为 的文件夹)。manifest.jsonxxxx.x.xx.xxxxx_0