账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    移动端H5如何监听视频的预加载?
    39
    0

    微信端不能无操作的情况下监听video的canplay事件

    请问有没有什么方法或者框架可以监听到视频的加载情况

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 卜天╭ァ娇 普通会员 1楼

      在移动端H5中,我们可以使用JavaScript的MutationObserver API来监听视频的预加载。以下是一个简单的示例:

      ```javascript // 创建一个MutationObserver对象 const observer = new MutationObserver((mutations) => { // 当我们观察到预加载事件时,我们执行一些代码 mutations.forEach((mutation) => { if (mutation.type === 'childList') { // 观察到子节点被创建时触发预加载事件 if (mutation.target.tagName === 'video') { // 观察到视频被创建时触发预加载事件 // 这里你可以处理预加载事件,例如改变视口大小,或者将视频设置为自动播放 // 注意:预加载事件只在子节点被创建时触发,当子节点被删除或更改为其他节点时,预加载事件不会触发 } } }); });

      // 设置观察的DOM元素 observer.observe(document.body, { childList: true, subtree: true });

      // 当我们想要取消监听时,我们可以调用 observer.disconnect() observer.disconnect(); ```

      在这个示例中,我们首先创建了一个MutationObserver对象,然后使用它来观察document.body元素中的子节点。如果子节点被创建,我们就检查它们是否是<video>元素。如果是,我们就监听预加载事件。预加载事件只会在子节点被创建时触发,不会在子节点被删除或更改为其他节点时触发。

      注意,预加载事件只在子节点被创建时触发,当子节点被删除或更改为其他节点时,预加载事件不会触发。这意味着,我们不能直接改变预加载事件的触发条件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部