【问题标题】:Store the user interaction with the page存储用户与页面的交互
【发布时间】:2019-02-01 14:52:32
【问题描述】:

我有一个警报系统网络应用程序,如果出现新警报,应用程序会播放声音。但是由于有这个Autoplay Policy,如果我想在页面上播放音频,用户必须先与页面交互。我读了很多关于这个问题的 SO 问题,比如this,但我想要存储让我们说在local storage 如果用户已经与页面交互并自动播放音频,如果他是返回用户。由于我的用户经常打开我的网络应用程序,他们不想每次都单击按钮以允许播放通知。知道如何实现吗?

【问题讨论】:

  • 用户可以创建一个启动器,该启动器运行带有适当标志或策略设置的程序以禁用默认浏览器策略。

标签: javascript html5-audio


【解决方案1】:

您需要 https 连接。当用户授予一次权限时,它会保存并且不再要求该页面。更多请查看https://www.html5rocks.com/en/tutorials/getusermedia/intro/

【讨论】:

  • 这看起来是针对音频和视频的输入,而不是输出,这是完全不同的。我不记得曾经在 Chrome 或 FF 中看到过音频权限请求。
  • 如果不需要权限,则将您的声音编程为自动播放或在您想要播放时播放。
  • 需要权限,但 IIRC 总是通过用户交互隐式授予权限。如果没有用户交互,就会抛出错误——因此这个问题,过程看起来很不方便。
  • 这意味着您的浏览器不会保存该权限状态。那就用 https 试试吧。
  • 我记得在 on HTTPS 上遇到过这个问题。我不认为 HTTPS 在这里做任何事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 2021-09-11
  • 1970-01-01
  • 2012-05-08
相关资源
最近更新 更多