如何以编程方式关闭在 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?的主要内容,如果未能解决你的问题,请参考以下文章
调用新应用程序时如何保持 Android 在 Kiosk 模式下运行?