首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在静态的本地HTML文件中使用Web蓝牙?

如何在静态的本地HTML文件中使用Web蓝牙?
EN

Stack Overflow用户
提问于 2021-08-05 17:12:56
回答 1查看 113关注 0票数 0

我有一个使用Web蓝牙的网站,我想脱机使用它作为一个静态的,没有web服务器的本地文件。我一直在https://picam-dashboard.glitch.me/ (基于Adafruit的示例https://adafruit-webbt-playground.glitch.me/)上研究它。除了去掉一些特性并粗略地添加其他特性之外,为了便于移植,我基本上将JS和CSS转储到单个HTML文件中。我知道这里有各种各样可怕的做法,但现在我只是试图证明概念。

当通过故障或本地服务器提供服务时,页面运行得很好,但如果我直接打开文件,device.gatt.connect()返回的承诺永远不会解决。如果我在控制台中运行device.gatt.connect(),它将失败,并显示错误DOM Exception: GATT operation not authorized

(我正在Windows和Android上用Chrome 92进行测试。)

我知道Web Bluetooth只能在安全的环境下运行,但静态页面仍然允许扫描设备,并且可以正确获取设备地址,所以这似乎不是完全的问题。也就是说,在使用本地web服务器时的成功让我认为这仍然是一个安全上下文问题。

我是不是遗漏了一些明显的东西,或者有没有其他方法来利用静态文件中的web蓝牙(没有本地服务器)?

感谢您的反馈/想法/建议!

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 09:23:04

我已经从https://googlechrome.github.io/samples/web-bluetooth/device-disconnect-async-await.html本地下载了HTML文件,并成功试用了它。我可以看到Web蓝牙浏览器选择器,选择我的蓝牙设备,device.gatt.connect()可以正确解析。

它在桌面和安卓系统上分别适用于file://content:// URL。

我想知道您的蓝牙设备是否不接受多个连接。确保所有以前的连接都已关闭,然后再试一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68670894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档