34 lines
1,014 B
JavaScript
34 lines
1,014 B
JavaScript
|
function getDeviceDetails(device) {
|
||
|
return grantedDevice.productName || `Unknown device ${grantedDevice.deviceId}`
|
||
|
}
|
||
|
|
||
|
async function testIt() {
|
||
|
const noDevicesFoundMsg = 'No devices found'
|
||
|
const grantedDevices = await navigator.usb.getDevices()
|
||
|
let grantedDeviceList = ''
|
||
|
if (grantedDevices.length > 0) {
|
||
|
grantedDevices.forEach(device => {
|
||
|
grantedDeviceList += `<hr>${getDeviceDetails(device)}</hr>`
|
||
|
})
|
||
|
} else {
|
||
|
grantedDeviceList = noDevicesFoundMsg
|
||
|
}
|
||
|
document.getElementById('granted-devices').innerHTML = grantedDeviceList
|
||
|
|
||
|
grantedDeviceList = ''
|
||
|
try {
|
||
|
const grantedDevice = await navigator.usb.requestDevice({
|
||
|
filters: []
|
||
|
})
|
||
|
grantedDeviceList += `<hr>${getDeviceDetails(device)}</hr>`
|
||
|
|
||
|
} catch (ex) {
|
||
|
if (ex.name === 'NotFoundError') {
|
||
|
grantedDeviceList = noDevicesFoundMsg
|
||
|
}
|
||
|
}
|
||
|
document.getElementById('granted-devices2').innerHTML = grantedDeviceList
|
||
|
}
|
||
|
|
||
|
document.getElementById('clickme').addEventListener('click',testIt)
|