Bluetooth requestDevice () не определен на Amazon Lightsail - PullRequest
0 голосов
/ 15 ноября 2018

В следующем примере (1) перечислены доступные устройства Bluetooth при открытии в виде файла в Chrome версии 70.

При загрузке того же точного примера в экземпляр Amazon Ligtsail я получаю следующее сообщение об ошибке:

Uncaught TypeError: Cannot read property 'requestDevice' of undefined
at connect ((index):9)
at HTMLButtonElement.onclick ((index):4)

Может кто-нибудь объяснить мне, в чем может быть проблема?Поскольку это JavaScript, он должен выполняться в браузере и не иметь отношения к каким-либо настройкам сервера?

.

(1) Пример кода, который генерирует ошибку на Amazon Lightsail

<html>
<body>
<button onclick="connect();">Click here</button>
<script>
function connect() {
    console.log('Getting Bluetooth Device...');
    navigator.bluetooth.requestDevice(
    {
        acceptAllDevices : true
    })
    .then(device => {
        console.log('Got device');
    })
     .catch(error => {
        console.log(error);
    });
 }
</script>
</body>
</html>

1 Ответ

0 голосов
/ 15 ноября 2018

Как и предполагалось @kdgregory, navigator.bluetooth - это только HTTPS :

Поскольку этот экспериментальный API является мощной новой функцией, добавленной в Интернет, Google Chrome стремится сделать его доступным только в безопасных контекстах. Это означает, что вам нужно строить с учетом TLS.

Я добавил GitHub pages , и он работает.

enter image description here

...