Javascript获取对象而不是DOM元素
以下是Chrome浏览器控制台中显示的名为“params”的整个对象:Javascript获取对象而不是DOM元素,javascript,video,vast,Javascript,Video,Vast,以下是Chrome浏览器控制台中显示的名为“params”的整个对象: {videoSlot: video#videoSlot, slot: div#adSlot} slot: div#adSlot accessKey: "" align: "" draggable: false ... videoSlot: video#videoSlot accessKey: "" loop:
{videoSlot: video#videoSlot, slot: div#adSlot}
slot: div#adSlot
accessKey: ""
align: ""
draggable: false
...
videoSlot: video#videoSlot
accessKey: ""
loop: false
muted: false
...
当我执行console.log(params)时,上面就是我看到的。但如果我使用console.log(params.videoSlot),它会显示
<video id="videoSlot" style="position:absolute; width:100%; height:100; ...></video>
期望的结果是什么?什么是“对象的元数据”?我们可以看到实现的代码吗?您可以检查您的对象是存储dom元素还是仅存储字符串。所需的结果是对象videoSlot,它是{accessKey:,loop:false,muted:false},因为此元数据包含我想要捕获的信息。此外,我的对象似乎同时存储插槽和视频插槽元数据,而不仅仅是DOM或其字符串。但是当我执行“params.slot”或“params.videoSlot”时,它只返回DOM元素,而不是metadata@MattChoi请用相关信息更新问题details@MattChoi您是否尝试过参数videoSlot.loop
,参数videoSlot.Mute
等。?你认为DOM对象是什么?
export default class MediaPlayerClassifier {
constructor() {
// map of events to arrays of pixels
this.identifier = {
'goog': 'GOOGLE_MEDIA_PLAYER',
'yimg': 'YAHOO_MEDIA_PLAYER',
'zzVpaidVideoPlayer': 'ZZ_MEDIA_PLAYER'
};
this.player = null;
}
determine(params, callback) {
videoParams = params.videoSlot
console.dir(videoParams);
var identifierKeys = Object.keys(this.identifier);
var value;
var that = this;
Object.keys(videoParams).forEach(function(key) {
value = videoParams[key];
console.log(value);
if (key === 'baseURI') {
console.log(value);
}
for (var i=0; i < identifierKeys.length; i++) {
var each = identifierKeys[i];
if (value && typeof value === 'string' && value.indexOf(each) !== -1) {
that.player = that.identifier[each];
return callback();
}
}
});
return;
}
getPlayerType() {
return this.player;
}
}