Uncaught (in promise) DOMException谷歌浏览器js报错分析

Chrome的自动播放的政策在2018年4月做了更改,这点在开源中国的这篇文章中也有说到。

新的行为:浏览器为了提高用户体验,减少数据消耗,现在都在遵循autoplay政策,Chrome的autoplay 政策如下:

  1. muted autoplay始终被允许

  2. 音乐的autoplay 只有在下面集中情况下起作用:

2.1有用户行为发生像(click,tap,etc);

2.2 对于桌面程序,用户已经提前播放了音频;

2.3 对于移动端用户将音频网址home screen;

不过,如果你想让你的chrome浏览器自动播放,可以用以下谷歌提供的办法解决。

解决方法如下:

在chrome的地址栏中输入:chrome://flags/#autoplay-policy,回车打开设置页面,在该设置改页面会看到黄色方框标记的字体:Autoplay policy ,该选项默认设置为Default,改为:No user gesture is required ,修改选项后页面下方会弹出个提示框,点击提示框上的“RELAUNCH NOW”即可。

在这里插入图片描述

https://www.inqingdao.cn/5988.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
回答: 当你在网页中尝试播放音频时,可能会遇到"Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first."的报错。这是因为现代浏览器为了防止自动播放音频而采取的安全措施。为了解决这个问题,你可以通过以下几种方式来处理。首先,你可以在用户与网页有任何交互后再播放音频,比如在用户点击页面的某个元素时。你可以使用以下代码来实现这个功能:\[2\] ``` document.body.addEventListener('mousedown', function(){ var vdo = $("video")\[0\]; //jquery vdo.muted = false; }, false); ``` 另外,你也可以使用JavaScript代码显式调用play方法来播放音频。你可以在视频元素上设置src属性,并在oncanplay事件触发后调用play方法。以下是一个示例代码:\[3\] ``` <video></video> <script type="text/javascript"> var vdo = $("video")\[0\]; //jquery vdo.src = "YOUR_VIDEO_URL"; vdo.oncanplay = function(){ this.play(); }; </script> ``` 通过以上方法,你可以解决"Uncaught (in promise) DOMException"报错并成功播放音频。 #### 引用[.reference_title] - *1* *2* *3* [HTML5<video>报错Uncaught (in promise) DOMException解决方法[转]](https://blog.csdn.net/weixin_44038264/article/details/113701902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值