我们可以跟踪视频是不是正在播放或以 Jquery 结束?

Posted

技术标签:

【中文标题】我们可以跟踪视频是不是正在播放或以 Jquery 结束?【英文标题】:Can we track if a video is being played or is ended in Jquery?我们可以跟踪视频是否正在播放或以 Jquery 结束? 【发布时间】:2017-12-16 08:57:19 【问题描述】:

是否可以检查 iframe 内的视频是否正在播放或完成,

<div class="item">
    <div class="home-content-slider">
        <div class="home-content-inner">
            <iframe id="vid1" src="<%= post %>"   frameborder="0" allowfullscreen></iframe>
        </div>
    </div>
</div>

这是一个iframe,我只想在视频结束时触发一个事件,可以通过Jquery吗?

【问题讨论】:

【参考方案1】:

iFrame 最初没有针对窗口元素之间的通信进行保护,但这最终成为了一个重大的安全问题。响应是隔离 iFrame 和沙箱中的主窗口之间的窗口对象。

因此,您无法直接探测 iFrame 内部正在发生的事情的状态,但您可以使用 postMessage 从 iFrame 与顶部框架进行通信,并得到相当广泛的采用 (https://caniuse.com/#search=postmessage)。

https://davidwalsh.name/window-postmessage

发送者(您的 iframe)使用 postMessage 发送状态更新,您的顶部窗口侦听名为 message 的事件以接收消息。

【讨论】:

以上是关于我们可以跟踪视频是不是正在播放或以 Jquery 结束?的主要内容,如果未能解决你的问题,请参考以下文章

jquery.danmu.js视频播放插件如何判断一个视频是不是播放完毕,有没有像video里面ended这样的属性

如何在 iPod 仍在播放音频时将 iOS 上的视频静音?

如何使用 Jquery 播放/暂停 Flash 视频(不是 html5 <video>)

jquery序列帧播放(支持视频自动播放和不是全屏播放)

使用 jQuery 检测 HTML5 视频播放/暂停状态

在 javascript / jquery 中获取当前视频帧