我有一个带有scrollHeight的数组和一个带有图像的数组,以从中渲染视频。
var delayArray = [
{ startDelayPosition: 920 },
{ startDelayPosition: 1640 },
{ startDelayPosition: 2786 },
{ startDelayPosition: 4500 }
];
然后我使用循环来迭代带有图像的数组,并尝试检查当前帧是否使用scrollHeight进入范围,我需要直接使用该scrollHeight多次复制此帧,以模拟情况,因为用户停止滚动页面并观看某事(例如几秒钟)。但是,当我尝试在循环中使用该数组的元素时,我从数组中得到了我期望的元素。例如,
[{"startDelayPosition":2013}]
但是,如果我尝试从对象中获取价值,那么它总是等于未定义的价值。
for (let i = 0; i < videoDuration; i += 1) {
let singleValue = page.evaluate((delayArray, scrollStep, i) => {
return delayArray.filter(v => Math.ceil(v.startDelayPosition /
scrollStep) == i);
}, delayArray, scrollStep, i);
console.log(JSON.stringify(singleValue[0].startDelayPosition));
TypeError: undefined is not an object (evaluating 'singleValue[0].startDelayPosition')
我想PhantomJS在访问这样的结构方面有一些限制。或者我做错了。