WebUSB检测网页是否打开

WebUSB detect if web page is being opened

我正在寻找某种机制,当与站点的连接中断时(即浏览器崩溃、用户关闭与设备通信的站点的选项卡或只是网络连接中断),可以将 USB 设备切换到 failsoft 模式。 我可以看到的选项之一是某种从浏览器向设备发送保持活动状态的机制——不幸的是,我发现从浏览器传输数据的唯一(简单)方法是通过 CDC(它使用批量传输——最慢发送数据的方式)。有没有办法通过 WebUSB 使用中断传输?或者也许有比发送 keep-alive 更好的方法来实现所需的行为? 目前我专注于 Windows 10.

您要做的是使用两个备用设置来设置您的界面。备用设置 0 可以是故障保护模式,默认情况下为 selected。当您的应用程序打开设备时,它可以调用 selectAlternateInterface() 到 select 备用设置 1,这将是您的活动模式。当您调用close()、页面关闭或浏览器崩溃时,OS会自动向您的界面发送SET_ALTERNATE(0)命令。