当你要给页面插入背景音乐

js代码:

var audio = document.createElement('audio');
audio.src = '';
audio.loop = true;
audio.play();

  

然后你会发现控制台报错:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first

这是因为chrome只允许用户对网页主动触发后才可以自动播放音频和视频,为了防止开发者滥用自动播放的功能去骚扰用户。

因此最合适的做法是在用户任意触发后再去播放:

document.body.addEventListener('mousedown', function(){
    audio.play();
}, false);  

  

附腾讯视频的做法:

原文地址:https://www.cnblogs.com/nangras/p/14775892.html