如何以编程方式关闭在 Kiosk 模式下运行的 Chrome?

Posted

技术标签:

【中文标题】如何以编程方式关闭在 Kiosk 模式下运行的 Chrome?【英文标题】:How to close Chrome running in Kiosk mode programmatically? 【发布时间】:2020-12-23 09:48:21 【问题描述】:

我有一个在 Chrome 中运行的 Angular 9 应用程序,它本身在 Kiosk 模式下运行。我需要一个关闭 Chrome 的选项,因为运行该应用的 PC 上没有连接键盘。

有没有办法在不使用扩展的情况下以编程方式执行此操作?可以切换到其他浏览器。

我试图在 Angular 中获取 window 对象并调用 window.close(); 但似乎我没有得到正确的对象,并且只关闭了应用程序的一个组件而不是 chrome 窗口。

我知道您不能关闭不是用 javascript 打开的窗口,但要关闭对此 answer 的评论,我认为 Kiosk 模式可能会有所不同。

编辑:

组件关闭是由于我们自己的软件中的错误而发生的,window.close(); 不起作用,这是预期的行为。

【问题讨论】:

您使用的是哪种 Kiosk 模式? Chrome 应用程序的 Kiosk 模式与 ChromeOS(Chromebook)上的 Kiosk 模式不同 - 这(再次)与在 Windows 上使用 --kiosk 不同(然后您也可以在 Windows' own kiosk-mode 内正常运行 Chrome)。 @Dai 我在 Windows 10 上运行带有 --kiosk 标志的 Chrome。 您是否可以在浏览器旁边的信息亭上编写/运行另一个应用程序? @JavierAlegria 是的,这是可能的。 【参考方案1】:

您可以编写一个看门狗进程,它将:

启动浏览器 监控窗口标题

如果窗口标题更改为“TERMINATING - Chrome”之类的内容(您可以在 JavaScript 中进行更改),则看门狗进程可能会终止浏览器进程。

如果看门狗在没有请求终止的情况下自行崩溃,它也可以重新启动浏览器。

【讨论】:

以上是关于如何以编程方式关闭在 Kiosk 模式下运行的 Chrome?的主要内容,如果未能解决你的问题,请参考以下文章

Kiosk 模式应用程序的退出按钮

如何以编程方式关闭全屏模式NSWindow?

调用新应用程序时如何保持 Android 在 Kiosk 模式下运行?

如何在KIOSK模式下打开基于Java的Web应用程序?

如何从在 Kiosk 模式下运行的 Microsoft Teams 客户端删除聊天记录?

如何调试正在运行的 Kiosk 模式 Chrome 应用程序?