Uncaught (in promise) DOMException

这是一个困扰我许久的bug,debugger的时候没有找到错误的地方,然后今天早晨进公司,换了代码的加载位置和顺序,终于在浏览器里面找到了报错。

错误描述:进入浏览器的时候,会从后端传过来websocket通知,在浏览器会执行对应的音频文件,但是,如果刷新了浏览器之后,音频文件声音就没有了,也不会报错,直到鼠标触发浏览器的某个按钮或事件,会再次执行音频文件和声音。

5640239-3e4160e2a54fa8d6.png

问题所在:
chrome浏览器不支持audio和video标签的autoplay自动播放,因为放在火狐浏览器或者别的浏览器里面不会出现这样的bug。

解决方式如下:
在chrome 浏览器中输入:chrome://flags,搜索“Autoplay policy”,默认为“Default”,修改为 “No user gesture is required” 就可以了

5640239-efe25385141cf9bc.png

5640239-1e93989b8f646cdb.png
5640239-129fc8bd8f38dc0b.png
5640239-639758fcd83ec23d.png

重启浏览器之后,这个bug就可以解决掉了。

但是存在一个问题,用户的浏览器并没有设置此选项,得需要要一一设置吗?显然想不通,虽然这个bug没什么太大的影响,目前还木有找到解决办法,在线等解决方案,挺急的。


原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,对于博客上面有不会的问题,可以加入qq技术交流群聊:649040560。

猜你喜欢

转载自blog.csdn.net/qq_36538012/article/details/89168166