javascript - Javascript:在浏览器中播放声音:以某种方式坚持用户与此页面交互?
问题描述
当前浏览器不允许 JS 播放声音,除非用户首先与页面交互。请参阅 https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
我确实有一个页面可以可视化传感器的二氧化碳值,如果值太高,它应该使用 JS 播放警报声。为此,有一个按钮可以打开/关闭声音。
当用户与页面交互时,允许 JS 播放声音。 但是当重新加载完全相同的 URL 时(在同一台机器上),用户必须再次与页面交互以允许 JS 播放声音。我希望能够以某种方式保持用户已经与该特定 URL 交互的状态,因此当重新加载相同的 URL 并且用户在该声音应该播放之前选择时,我可以播放警告声音。有没有办法做到这一点?
为了给您更好的印象,这里有 2 个用户打开/关闭警告声音的屏幕截图。我想保留此选择(使用 localStorage 没问题),但 Chrome 不允许在重新加载页面后播放声音,除非用户再次交互。我希望被允许在页面重新加载后播放该声音。
谢谢和问候菲利普
解决方案
推荐阅读
- automl - 禁用 AutoML API 会删除训练数据和模型吗?
- angular - 将焦点更改为以 Angular 6 提交的表单
- visual-studio-2017 - Visual Studio 2017 社区构建失败且未显示任何错误
- elasticsearch - 如何通过 AWS VPC 使用 Elastic Cloud 的 Logstash 从 MySQL(AWS RDS) 导入数据?
- excel - 如何自动隐藏功能区,但仅适用于特定工作簿且仅适用于该工作簿中的一个工作表
- javascript - 如何更改分页点的 react-native-swiper-flatlist 样式?
- arguments - Nim argv 等效项
- django - 使用 Multiselectfield 上的 django 过滤器后端进行过滤
- javascript - 如何在运行时了解已加载的 d3.js 扩展及其版本?
- python - 如何对返回相同类型的类实例的两个类实例(以 float 作为子类)执行算术运算?例如速度(2) + 速度(2)