我想用JavaScript测试YouTube视频的长度

我正在使用WordPress。我在其中放了一个YouTube视频,我想测试一下它的长度。但是WordPress将iFrame的许多div和script标签放到了iFrame中,我找不到我必须使用的标签。我将附上WordPress代码的图片。我测试了什么来获得视频的长度?

我想用JavaScript测试YouTube视频的长度

这是我的JavaScript代码,如果我使用存储中的视频,这仍然可以正常工作。

addVideoAdTimer = () => {
    // Video timer
    let videoblock = document.getElementsByClassname('phone-video-1')[0]
    let videoblock2 = document.getElementsByClassname('phone-video-2')[0]
    //Video 1
    if(videoblock || videoblock2) {
        let firstTimerBlock = document.getElementById('first-video-timer')
        let video1 = videoblock.getElementsByClassname('elementor-widget-video')[0]
        let firstTimerInit = firstTimerBlock.innerText = fancyTimeFormat(0)
        firstTimerBlock.getElementsByTagName('p').innerHTML = firstTimerInit
        video1.addEventListener('timeupdate',getadVideo1Duration)

        function getadVideo1Duration() {
            let currentTime;
            let firstTimerAdBlock;
            let firstTimerInitPlay = fancyTimeFormat(Math.round(video1.currentTime))
            if (firstTimerInitPlay >= '00:00:03' && firstTimerInitPlay <= '00:00:05') {
                    currentTime = fancyTimeFormat(Math.round(video1.currentTime - 2 )) 
                    firstTimerAdBlock = firstTimerBlock.innerText = currentTime
            } else if(firstTimerInitPlay == '00:00:00') {
                firstTimerAdBlock = firstTimerBlock.innerText = fancyTimeFormat(0)
            }
            firstTimerBlock.getElementsByTagName('p').innerHTML = firstTimerAdBlock
        }

        //Video2
        let secondTimerBlock = document.getElementById('second-video-timer')
        let video2 = videoblock2.getElementsByClassname('elementor-widget-video')[0]
        let secondTimerInit = secondTimerBlock.innerText = fancyTimeFormat(0)
        secondTimerBlock.getElementsByTagName('p').innerHTML = secondTimerInit
        video2.addEventListener('timeupdate',getadVideo2Duration)

         function getadVideo2Duration() {
            let secondTimerInitPlay = secondTimerBlock.innerText = fancyTimeFormat(Math.round(video2.currentTime))
            let secondTimer =  secondTimerBlock.getElementsByTagName('p')
            secondTimer.innerHTML = secondTimerInitPlay
        }
    }
}
 fancyTimeFormat = (time) =>
{   
    // Hours,minutes and seconds
    var hrs = Math.round(time / 3600);
    var mins = Math.round((time % 3600) / 60);
    var secs = Math.round(time % 60);

    var currentTime = "";
    if (hrs > 0) {
        currentTime +=  hrs + ":" + (mins < 10 ? "0" + mins : mins)  + ":" + (secs < 10 ? "0" + secs : secs);
    } 
    currentTime += "00:" + (mins < 10 ? "0" + mins : mins)  + ":" + (secs < 10 ? "0" + secs : secs);
    return currentTime;
}
nabela123 回答:我想用JavaScript测试YouTube视频的长度

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3072978.html

大家都在问