我正在开发一个视频播放器项目,我正在使用 videojs 以及 videojs-ima 进行广告前贴片广告。
我终于找到了一种方法来判断是否存在广告;但是,我试图返回一个布尔值true
orfalse
以判断何时运行和执行某个代码块。
这是我的代码,它目前不能像预期的那样工作。
if (navigator.userAgent.match(/iPhone/i) ||
navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)) {
let checkAd = document.querySelectorAll('.ima-ad-container');
let checkAdLoop = setInterval(() => {
for (let i=0; i < checkAd.length; i++) {
if (checkAd[i].style.display == 'none') {
console.log('Ad is NOT playing.');
return false;
} else {
console.log('Ad is playing.');
return true;
// do nothing
}
}
}, 1000);
player.on('touchend', () => {
if (player.paused() && checkAdLoop() == false) {
player.play();
} else if (player.currentTime > 0 && checkAdLoop() == false) {
player.pause();
}
});
$('.vjs-icon-placeholder').on('touchend', () => {
if (player.paused() && checkAdLoop() == false) {
player.play();
} else if (player.currentTime > 0 && checkAdLoop() == false) {
player.pause();
}
});
}
如果有人可以帮助我理解并可以向我解释为什么这不起作用,我会很高兴。我该如何解决这个问题?
我知道我很接近了。提前致谢!