使用javascript自动播放<video>元素

low*_*_22 0 javascript video nodelist playback autoplay

我在html中设置了一些包含autoplay选项的元素.我发现Chrome似乎并不特别愿意出于任何原因自动播放这些视频.我想添加一些javascript来设置视频加载后播放.我知道我需要在有问题的DOM元素上使用play()方法.

我正在使用:

  document.getElementsByTagName('video').play();
Run Code Online (Sandbox Code Playgroud)

此代码成功自动播放我的视频元素.但是,它也会在控制台中引发错误

未捕获的TypeError:对象#<NodeList>没有方法'play'

我之前没有遇到过这个错误,它正在停止我的其余javascript以便正确执行.关于这是什么以及如何解决它的任何想法?

谢谢!

Rah*_*ane 6

那是因为getElementsByTagName返回一个元素数组,所以你可以指定你想要的数组中的哪个元素.

 document.getElementsByTagName('video')[0].play();
Run Code Online (Sandbox Code Playgroud)

也许影响<video>元素的id 可能会更好,然后你可以通过使用来检索它getElementById(id).