JavaScript错误:未捕获(已承诺)DOMException

时间:2019-01-06 14:25:16

标签: javascript

我正在开发一个Web应用程序,它将播放JS中的歌曲。我拥有的代码是:

const song =  {
    play: () => {
        document.querySelector('body .audio').play();
    },
    pause: () => {
        document.querySelector('body .audio').pause();
    }
};

当我调用song.play()时,控制台出现错误:

  

未捕获(承诺)的DOMException

仅此而已。我试图搜索互联网,但是没有任何答案。我该如何解决这个问题。

更新:我已经做了更多研究,结果发现我可以从控制台调用完全相同的脚本,并且可以正常运行,但不能从脚本中调用。

1 个答案:

答案 0 :(得分:0)

Autoplay Policy Changes

var promise = document.querySelector('audio').play();

if (promise !== undefined) {
  promise.then(_ => {
    // Autoplay started!
  }).catch(error => {
    // Autoplay was prevented.
    // Show a "Play" button so that user can start playback.
  });
}