我创建了一个网站,如果用户单击该网站,它将播放声音。为了防止声音重叠,我必须添加代码:
n.pause();
n.currentTime = 0;
n.play();
但这会导致错误: The play() request was interrupted by a call to pause()
每次声音事件在另一个触发器之后立即触发时都会出现。声音仍然可以正常播放,但我想防止此错误消息不断弹出。有任何想法吗?
我最近也遇到了这个问题-
这可能是play()
和之间的竞争条件pause()
。。
正如@Patrick指出的那样,pause
它不会返回诺言(或其他任何东西),因此上述解决方案将行不通。虽然MDN
pause()
在的Media元素的WC3草案中没有上的文档,但它说:
media.pause()
将暂停的属性设置为true,必要时加载媒体资源。
因此,也可以paused
在其超时回调中检查属性。
基于这个出色的SO答案,您可以通过以下方法检查视频是否正在播放(或未播放),因此可以安全地触发play()而不出错。
var isPlaying = video.currentTime > 0 && !video.paused && !video.ended
&& video.readyState > 2;
if (!isPlaying) {
video.play();
}
问题内容: 您如何告诉Linux中的线程调度程序不因任何原因中断您的线程?我正在用户模式下编程。简单地锁定互斥锁是否可以完成此操作?我想防止执行某些功能时调度进程中的其他线程。它们会阻塞,我会用上下文切换浪费CPU周期。我希望任何执行该功能的线程都能够完成执行而不会中断,即使超出了线程的时间片。 问题答案: 您如何告诉Linux中的线程调度程序不因任何原因中断您的线程? 无法真正完成,您需要一个实
问题内容: 我正在编写一个程序,通过pickle模块缓存一些结果。目前发生的情况是,如果在执行操作时按ctrl-c,则会被打断,从而导致文件损坏(即仅部分写入,因此无法再次进行编辑)。 有没有办法使代码块或通常的代码块不间断?我当前的解决方法如下所示: 如果操作被中断,重新启动该操作似乎很愚蠢,所以我正在寻找一种推迟中断的方法。我该怎么做呢? 问题答案: 将函数放在线程中,然后等待线程完成。 除非
本文向大家介绍如何防止cookie被盗用?相关面试题,主要包含被问及如何防止cookie被盗用?时的应答技巧和注意事项,需要的朋友参考一下 禁止第三方网站带cookie(same-site属性) 每次请求需要输入图形验证码 使用Token验证 为cookie设置HttpOnly 设置CSP 使用Referer验证 禁止网页内嵌 使用https cookie带上用户ip加密
在使用morgan中间件记录日志时,我注意到服务器日志中出现了一些频繁且令人担忧的请求。 相关记录器代码 因此,日志的示例如下 不幸的是,我不知道如何重现这样的错误。这是一个潜在的漏洞吗?原木锻造?我在哪里可以找到进一步的信息? 具体来说,这一行的url是“GET”http://example.com/path.php HTTP/1.1”,其中example.com不是我的域,我的服务器也没有设置
目前有一个场景,其中共享服务中的一个方法由多个组件使用。此方法对endpoint进行HTTP调用,该endpoint将始终具有相同的响应,并返回一个可观察值。是否可以与所有订阅者共享第一个响应以防止重复HTTP请求? 以下是上述方案的简化版本:
问题内容: 考虑以下HTML: 和以下CSS: 就目前情况而言,Firefox目前与以下内容类似: 注意,第四项在第二和第三列之间分配。我该如何预防? 所需的渲染可能更像: 要么 编辑: 仅指定宽度以演示不需要的渲染。在实际情况下,当然没有固定的宽度。 问题答案: 正确的方法是使用闯入式CSS属性: 不幸的是,截至2019年10月,Firefox不支持此功能,但其他所有主流浏览器均支持此功能。使用