我想将返回的 ajax 请求对象推送到 JWplayer 7 多源对象,返回的 ajax 请求在控制台(console.log
)中如下所示:
对象{sd_src:对象,hd_src:对象}
并且 sd_src & hd_src 对象包含 ( console.log
) :
对象文件:“videofile.mp4”标签:“HD” sd_src:对象{相同的第一个obj}
我创建空对象dataSources = [];
以在 for in 循环中将视频源推送到它
然后我创建一个 for in 循环来获取对象属性并将它们推送到dataSources
这样的状态:
for (var p in ReturnData.srcs) {
if( ReturnData.srcs.hasOwnProperty(p) ) {
dataSources.push( ReturnData.srcs[p] );
}
}
最后一点我创建了 JWplayer 7 设置:
jwplayer.key="myjwplayer.key";
var playerInstance = jwplayer("dv-watchvideo");
var dvPlayer = playerInstance.setup({
sources : **dataSources** ,
image: '',
width: 558,
height: 360,
type: 'mp4',
primary: "flash",
startparam: ReturnData.startparam,
skin: {
url: "thin.min.css",
name: "thin",
}
});
注意:两颗星之间的 var dataSources
另一个问题是,即使当我尝试在控制台中记录 var 时将对象推送到 dataSources 中时,总是返回带有未定义键的对象,但是当我删除 jwplayer 设置时,dataSources 推送工作!
工作codepen 示例但是当我使用 ajax 返回数据时将不起作用。如果我的方法是错误的,有没有其他方法可以做到这一点?