我有一台具有自助服务终端外形的 PC - 又高又窄,配有触摸屏。我安装了 Windows 10 LTSC,因为它被认为适合自助服务终端应用程序。我使用单个应用程序设置了自助服务终端模式,Edge 浏览器指向我们服务器上的 URL。它运行良好,但自助服务终端用户可以使用这些滑动手势,这是不受欢迎的。按照我在网上找到的一些说明,我使用组策略编辑器禁用了以下策略:
计算机配置 > 管理模板 > Windows 组件 Edge UI > 允许边缘滑动
这禁用了 Windows 滑动功能,该功能允许您跳出当前桌面,进入概览,您可以在其中添加新桌面(在 Kiosk 模式下,新桌面将只是一个空白的黑色页面)。这已经是一个巨大的胜利,因为该功能允许 kiosk 用户将屏幕置于下一个用户可能无法恢复的状态(为什么在 Kiosk 模式下也允许这样做,微软?)
但是 Edge 浏览器本身仍然保留了滑动手势:从左到右为“后退历史记录”,从右到左为“前进历史记录”。这是不可取的,因为我们希望根据上下文限制导航。用户不能在浏览器上任意执行“后退历史记录”或“前进历史记录”操作。
我了解到,如果我导航到 edge://flags,并禁用名为“滚动历史导航”的设置,我可以禁用此功能。同时,我还禁用了“弹性滚动”,这可以阻止页面在用户滑动屏幕时被拖到各个方向。
但问题就在这里:我可以在以管理员用户身份登录时执行此操作,这会更改管理员用户的设置。但我无法以 Kiosk 用户身份执行此操作。Kiosk 用户以 Kiosk 模式运行,这意味着只有浏览器窗口,显示预先选择的网站,没有 URL 栏,无法访问浏览器设置、开发人员控制台或 Windows 的其余部分。(这通常是可取的,但它确实使初始设置变得复杂)。作为 Kiosk 用户,我可以执行的唯一其他操作是按 Ctrl+Alt+Delete(当我插入键盘时)以获取锁定屏幕,以便我可以将用户切换为管理员。
我查了一下这些设置存储在哪里。它们位于
C:\Users[用户名]\AppData\Local\Microsoft\Edge\User Data\Local State
“本地状态”是一个没有扩展名的文件,包含一个压缩成一行的 JSON。通过实验,我发现更改设置会将以下内容添加到文件中:
"browser": {
"browser_build_version": "121.0.2277.112",
"browser_version_of_last_seen_whats_new": "121.0.2277.98",
"enabled_labs_experiments": [
"elastic-overscroll@2",
"overscroll-history-navigation@2"
],
"last_redirect_origin": "",
"last_seen_whats_new_page_version": "121.0.2277.83"
},
因此,我尝试手动将其添加到这些文件中(Kiosk 用户有两个文件夹,“用户数据”和“用户数据 Kiosk”),但这些更改没有生效。即使在我编辑文件时,Notepad++ 也不断通知我其他人已更改该文件,并且该文件不断恢复到其原始状态。
我如何更改这些设置并让这些更改生效?
附加问题:为什么这些设置位于“enabled_labs_experiments”下?想要关闭不需要的手势有什么“实验性”的?
编辑:我尝试了其他一些方法:我尝试禁用 Kiosk 模式 - 我从 Kiosk 用户取消分配了 kiosk 模式。我以 Kiosk 用户身份登录,并禁用了“滚动历史记录导航”和“弹性滚动”。这没有帮助。更改已保存在
C:\Users\Kiosk\AppData\Local\Microsoft\Edge\User Data\Local State
但现在很明显,对于 Kiosk 模式,使用了另一个文件夹:
C:\Users\Kiosk\AppData\Local\Microsoft\Edge\User Data Kiosk\Local State
我尝试的第二件事是将 Kiosk 模式 Edge url 设置为
edge://标志
这也不起作用。系统不允许 Kiosk 模式用户访问浏览器设置。显然,这不能通过隐藏 URL 栏来解决。我没有看到 edge://flags,而是看到了一些奇怪的欢迎页面。再一次,kiosk 模式的高安全性阻止了我进行正确的设置。
答案1
虽然我无法更改 Edge 中的设置,但我发现我可以简单地禁用网站 css 中的行为:
html, body {
overscroll-behavior: none;
}
仅供参考,如果您使用的是 Maui 容器应用程序而不是浏览器,则效果相同。
我希望这可以帮助某些人节省一些时间。