您可以创建 Chrome 应用,在一个干净的窗口中打开一个网站,而无需所有的浏览器控件,就好像它是该网站的独立应用一样,只需打开所需的网站,然后执行以下操作:
⋮-> More tools-> Create shortcut...-> 检查☑ Open as Window
但是这将使用当前 URL 并且您不能指定自定义 URL。
就我而言,我想将 Microsoft Teams 网络版添加为 Chrome 应用,但登录后团队会直接重定向到最后一次对话。
因此,https://teams.microsoft.com/_#/
URL 不是类似于以下内容的 URL,随后将用作 Chrome App URL。https://teams.microsoft.com/_#/conversations/General?threadId=19:[email protected]&ctx=channel
这是不可取的,因为我不希望特定的(旧的)对话成为默认对话。
有没有办法为 Chrome 应用设置自定义 URL?
答案1
我发现最好的方法是在创建快捷方式之前更改 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
答案2
我遇到了完全相同的问题。对我有用的是使用相同的过程创建 Chrome (Brave) 应用程序并转到快捷方式的配置文件。可以在 (C:\Users<account>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Brave Apps) 中找到该快捷方式,我转到属性并进入目标,而不是 --app-id=""。我将其更改为--app="<URL>"
。现在它将像应用程序一样在新窗口中打开我的自定义 URL(没有地址栏和工具栏)。
答案3
在创建快捷方式之前运行类似这样的 JS:
const startUrl = 'https://calendar.google.com/calendar/u/1/r';
document.head
.querySelector(':first-child')
.insertAdjacentHTML(
'beforebegin',
`<link rel="manifest" href='data:application/manifest+json,{"start_url":"${startUrl}"}' />`,
);
或者在这里查看替代方案
答案4
您可以--app-launch-url-for-shortcuts-menu-item
使用自定义 URL。
例如,在 之后--app-id=xxx
添加--app-launch-url-for-shortcuts-menu-item="https://teams.microsoft.com/_#/"
。
正如解释的那样这个stackoverflow答案。