Html5中的video标签在微信内置浏览器和QQ浏览器表现的奇怪问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Html5中的video标签在微信内置浏览器和QQ浏览器表现的奇怪问题相关的知识,希望对你有一定的参考价值。

我在做一个html5页面,其中使用video标签播放视频,但是这个video是总是表现在最顶层,无论怎样调节z-index属性都不起作用,我希望可以在视频上展示一些文字或图片。然而这个问题在PC端和苹果ios,或其他浏览器表现正常,唯独是在android系统下的QQ浏览器或微信内置浏览器表现有问题,求大神指导一下。

参考技术A video标签在播放时跳到最顶层,和微信及QQ浏览器没有关系,手机上就这样,但不影响PC. 参考技术B 手机qq浏览器把video标签拦截了,然后加入了腾讯播放器的一些代码 参考技术C 解决了吗?有什么方案呢?希望回复,谢谢 参考技术D 我也很想知道,现在遇到同样问题,请问你当时是怎么解决的 第5个回答  2015-05-10 这个问题你可以到他们官方论坛发帖反馈 bbs.mb.qq.com

在微信端使用video标签,播放结束会出现QQ浏览器推荐视频的解决办法(vue)

会出现播放结束显示QQ浏览器推荐视频的原因:(我是vue的项目,而且我是新手,只是单纯的给大家分享一个方法,代码比较low请自动忽略)

  因为在x5(QQ浏览器)内核中,把video标签劫持了,只要是检测到使用了video标签的话(包括使用了基于h5的video写的插件),就会出现这种情况。

 

解决办法:

  html部分:(需要的是一个id选择器,其他的请忽略,src中的内容是调接口返回)

    <video autoplay id="end" controls :src="chapter.url" poster="http://eres.xgstars.com/promote/ed.png"></video>

  js部分:

    showOtherVideo(){
      let _this = this;
      setTimeout(function(){
        var dom = document.getElementById(‘end‘);
        var flag = dom.paused;
        if(!flag){
          _this.showOtherVideo();
        }else{
          // _this.showOtherVideo();
          if(dom.currentTime == dom.duration && dom.currentTime!=0){ 
            //这里的判断是如果视频的总时间等于视频已经播放的时间,并且视频的播放时间不为零时
            //这个地方的就是写视频结束的时候的代码的地方
          }else{
            _this.showOtherVideo();
          }
        }
      },1000)
    },
 
  这个的原理就是通过一个计时器每隔一秒刷新一次,来监听视频是不是播放完毕,如果没有播放完毕则继续监听,如果播放完毕就执行下面的方法,可以调用你自己公司的接口来请求下一段视频,替换当前视频,他会有一秒的闪烁,然后就会跳走,如果先看看效果的话,就去微信浏览器里面看看优酷,他们就是这种效果,但是方法应该不会这么low。

以上是关于Html5中的video标签在微信内置浏览器和QQ浏览器表现的奇怪问题的主要内容,如果未能解决你的问题,请参考以下文章

解决iphone在微信内置浏览器中看不到video标签

html5开发,android中的微信内置浏览器如何让video标签的视频不全屏播放

html5开发,iphone中的微信内置浏览器如何让video标签的视频不全屏

为啥video标签在手机qq浏览器,微信内置浏览器中无法正常播放,提示视频解析异常-请重试,

vue-video-player插件在微信浏览器X5内核中的坑

vue-video-player插件在微信浏览器X5内核中的坑