订单界面要做提示音,5s自动刷新.网上找了解决方案,都是要引导用户主动和网页互动一次。
这个互动的定义:
用户和页面之间有交互:其实就是指 用户与页面要发生了事件,才算有交互。比如 鼠标事件(单击 onclick,双击 ondblclick,按下 onmousedown,松开 onmouseup,右击 oncontextmenu 等),键盘事件(按下 onkeydown,松开 onkeyup 等)等。
注意:onmouseenter,onmouseleave,onmouseover,onmouseout 等某些事件,并不算用户与页面发生了交互。比如说,你想在onmouseenter事件发生的回调函数中,执行 audio.play() 也是会报错的,因为谷歌浏览器认为这不算有交互。
所以我的解决方案是:
if(!window.sessionStorage.getItem("click")){
this.$confirm("请点击开启音效","确定").then(res => {
window.sessionStorage.setItem("click", 1)
})
}
这个是针对页面用location.reload()刷新的情况。其他的可以参考一下。
吃水不忘挖井人:audio或video标签 autoplay无效 或 .play()报错问题 解决方案_video autoplay不生效_爱上你...家菜包的博客-CSDN博客