【问题标题】:Get list of available USB devices in WebUSB API获取 WebUSB API 中可用的 USB 设备列表
【发布时间】:2021-07-27 16:33:26
【问题描述】:

在 WebUSB API 中有没有办法获取所有可用设备的列表?

我这里的情况是一台计算机可以有多个相同的设备,假设它有 2 台相同的打印机。我想避免显示要求用户选择设备的弹出窗口,因此我想检查该设备是否已被认领。

我可以通过运行 navigator.usb.getDevices(); 来检查设备是否已被认领,但这只会列出已经认领的设备,如果有相同的设备尚未认领,我不知道。

所以问题是,如果我认为该设备已被认领并且不显示对话框,则用户无法使用第二个设备,如果我从不考虑认领设备,我将不得不每次都显示对话框.

【问题讨论】:

    标签: javascript webusb


    【解决方案1】:

    没有 API 可以获取所有可用设备的列表。网站只能通过请求用户许可才能访问设备(以及有关该设备的信息)。

    我认为navigator.usb.getDevices() 的作用有些混乱。它返回用户之前授予站点访问权限的一组连接设备,无论它们是否被声明。

    我建议应用程序做的是使用navigator.usb.getDevices() 向用户显示可用的设备集,并有一个“添加设备”按钮,如果用户没有看到他们正在寻找的设备,该按钮将调用navigator.usb.requestDevice()为了。如果用户知道他们有两个设备并且需要连接到这两个设备,他们会单击该按钮两次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      相关资源
      最近更新 更多