我的页面中有一些玩家:
<video id="cam-1" class="video-js vjs-default-skin tv-video"
style="float: left">
<source src="../videos/video11.webm" type="video/webm">
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
我正在使用videojs.getPlayers()方法获取所有这些内容,然后我就会这样做:
for(let i = 0; i < Object.keys(this._players).length; i++) {
this._players[i].play();
}
但是this._players [i]正在返回&#34; undefined&#34;。
即使我只是打电话
videojs("cam-1").play() it doesn't work!
我该怎么做?
答案 0 :(得分:0)
您正在以错误的方式迭代键,如下所示,
var players = this._players;
players.forEach((itm) => {
players[itm].play();
});
或者,如果您希望我以自己的方式提供解决方案,那么
var keys = Object.keys(this._players);
for(let i = 0; i < keys.length; i++) {
this._players[keys[i]].play();
}
答案 1 :(得分:0)
我对video.js一无所知,但你正在做的是在this._players对象中搜索不存在的属性。你把this._players混淆为一个对象的数组。你需要做什么
for (var i in this._players) {
this._players[i].play();
}
以上我将是关键。
for(var i in ...)适用于Object和Array。