Я работаю в PWA, который называется Web Bluetooth, и пытаюсь отфильтровать только маяки и после сопряжения отобразить его значения uuid
, major
, minor
.Итак, вот код сценария:
<script>
function onClickButton() {
var known_service = "battery_service";
return navigator.bluetooth.requestDevice({
filters: [{ services: [known_service] }]
})
.then(() => {
navigator.bluetooth.addEventListener('advertisementreceived', event => {
var rssi = event.rssi;
var appleData = event.manufacturerData.get(0x004C);
if (appleData.byteLength != 23 ||
appleData.getUint16(0, false) !== 0x0215) {
console.log({ isBeacon: false });
}
var uuidArray = new Uint8Array(appleData.buffer, 2, 16);
var major = appleData.getUint16(18, false);
var minor = appleData.getUint16(20, false);
var txPowerAt1m = -appleData.getInt8(22);
console.log({
isBeacon: true,
uuidArray,
major,
minor,
pathLossVs1m: txPowerAt1m - rssi
});
});
})
}
</script>
Когда я запускаю код, я получаю сообщение об ошибке, в котором говорится
Невозможно прочитать свойство 'addEventListener' с нулевым значением.
Я пробовал предложения, как добавить window.onload = function
, и это не работает.Поэтому, пожалуйста, предложите, как мне это сделать?благодарю вас.