Ich versuche, ein Trennereignis von einem USB-Gerät mit der WebUSB-API zu erhalten.WebUSB-API addEventListener trennen nicht triggern
Ich erhalte Zugriff auf das Gerät und das Hinzufügen eines Ereignis-Listener „trennen“, die durch die folgende:
navigator.usb.requestDevice({ filters: [{ vendorId: ... ... ...}] })
.then(device=> {
navigator.usb.addEventListener('disconnect', device => {
printToScreen("Message", "Device disconnect!!! ");
});
return device.open();
})
Zur Info: Die printToScreen() -Methode von Text zu einem div-Tag hinzufügt.
Die Gerätedosis verbinden und ich kann die Geräteberechtigung aufgelistet sehen, wenn ich auf das Schloss-Symbol in der Adressleiste klicke, und ich kann die Landing Page URL kein Problem finden. Wenn ich das Gerät abziehe, wird die gelistete Geräteberechtigung entfernt (was normal ist, weil das Gerät keine Seriennummer hat, daher kann die vom Benutzer gewährte Erlaubnis nicht beibehalten werden), aber die Disconnect-Ereignisdosis erscheint nicht. nicht sicher, was ich falsch mache.
Meine Frage ist also, wie kann ich den Callback vom Disconnect-Ereignis erkennen/erhalten? oder ist das ein Fehler und ich sollte ihn ablegen? jede Hilfe würde geschätzt werden, danke.
Sowie, nach dem Hinzufügen der Seriennummer zum Gerät, bekomme ich eine "NotFoundError: Device nicht verfügbar", wenn ich versuche, das Gerät mit "return device.open()" zu öffnen, aber die "navigator.usb.requestDevice "gibt das korrekte Gerät zurück.
Nach der doppelten Überprüfung durch Ersetzen einer console.log über die "printToScreen", dann, ja, einen Fehler. –