我是一个“Chrome for Business and Education”管理员,我已配置为在Single App Kiosk mode中运行的一系列chromebook。有问题的自助服务终端应用非常简单。我所做的就是使用the example code from this page使用'webview标签'(没有控件,因为我们需要所有相关应用的整个屏幕)并更改网址。该应用已在所有托管设备中完美安装。
现在的问题是,我们有时希望能够退出自助服务终端应用并返回到chromebook登录屏幕。现在,执行此操作的唯一方法是关闭机器,启动它并按Ctrl + Alt + S退出kiosk应用程序启动屏幕。整个过程每台机器需要30秒钟(机队包含50个)。因此,我们真的需要能够退出自助服务终端应用程序并返回登录屏幕(大约需要5秒或更短时间)。
现在,我可以在屏幕上添加一个退出按钮(根据上面引用的页面中的导航控件的第二个示例应用程序),但这意味着我们会丢失应用程序的屏幕空间。首选解决方案是使用击键关闭应用程序(例如Ctrl + Shift + L)。但是你如何在这种情况下做?我已经尝试将常规onkeydown javascript添加到包含webview标记的页面,这似乎被忽略了。我也尝试使用'chrome命令API',虽然我可以看到快捷方式已经注册了扩展名(通过点击chrome://扩展选项卡上的'键盘快捷键')但它没有任何效果。自助服务终端应用程序窗口仍然固执地打开。
有没有人知道这是否可行,如果可能,怎么办?
干杯,
数
答案 0 :(得分:1)
在manifest.json文件中添加此条目以创建应用程序的命令。
"commands": {
"exit-app": {
"suggested_key": {
"default": "Ctrl+Shift+L"
},
"description": "Exit the app"
}
}
然后,您需要将代码添加到后台脚本文件以侦听命令。当接收到您在清单中创建的exit-app命令时,此代码将关闭应用程序中的所有窗口。
chrome.commands.onCommand.addListener(function(command) {
switch(command) {
case 'exit-app':
exitApp();
break;
}
});
function exitApp() {
chrome.app.window.getAll().forEach(function(win) {
win.close();
});
}
请注意,组合键仅为建议,如果其他应用或Chrome键盘快捷键已使用该组合,则可能会忽略该键组合。您仍然需要转到chrome:// extensions页面上的键盘快捷键链接,并验证是否已为您的应用实际设置了键组合。