最近做的些web页面,内嵌许多小视频,在ios和安卓手机上播放时,遇到不少问题:在微信浏览器内播放时,视频会自动全屏

如果每个视频都有一张自定义的图片作为封面,在显示视频的同时,如果没有给这个视频设置高度,视频的容器在安卓手机上会被视频的封面撑大到变形

解决办法:

给video标签加一些属性,调用h5原生video,我写了个例子,加了注释,如果有错误,烦指正,谢谢!

width="100%"   height="240px" /*如果有封面,请设置高度*/ controls /*这个属性规定浏览器为该视频提供播放控件*/

style="object-fit:fill" /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小*/

webkit-playsinline="true" /*这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放*/

x-webkit-airplay="true" /*这个属性还不知道作用*/

playsinline="true" /*IOS微信浏览器支持小窗内播放*/

x5-video-player-type="h5" /*启用H5播放器,是wechat安卓版特性*/

x5-video-orientation="h5" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/

x5-video-player-fullscreen="true" /*全屏设置,设置为 true 是防止横屏*/

preload="auto" /*这个属性规定页面加载完成后载入视频*/

如果你的video标签也加了上面的属性,那么,你的视频可以在IOS手机上的小窗口播放,同时,视频封面同视频的宽度与高度也保持一致了。

经过各种尝试,在iOS下,可以给video添加webkit-playsinline属性,使视频在页面上原本位置播放,但这个属性在安卓上无效。

/****华丽丽的分割线,以下内容摘抄自网络,供参考****/

IOS微信浏览器是Chrome内核,下面大部分属性都支持,安卓微信浏览器是X5内核,一些属性是不支持的,比如可以设置局部播放的属性 playsinline,因此,始终是全屏。

下面的内容用以解释上面的内容:

2017-01-20 17:07:32

preload="auto" :属性规定在页面加载后载入视频。如果设置了 autoplay 属性,则忽略该属性。

一般参数可能的值:

· auto - 当页面加载后载入整个视频

· meta - 当页面加载后只载入元数据

· none - 当页面加载后不载入视频

muted:当设置该属性后,它规定视频的音频输出应该被静音

controls="controls" :属性规定浏览器应该为视频提供播放控件。

autoplay="autoplay": 视频自动播放设置,但是有经验的人都应该知道,autoplay标签在手机上不兼容,APP中设置问题导致无法自动播放,无论安卓或IOS。需要模拟自动播放只能通过一些事件触发。

webkit-playsinline playsinline:视频播放时局域播放,不脱离文档流 。但是这个属性比较特别, 需要嵌入网页的APP比如WeChat中UIwebview 的allowsInlineMediaPlayback = YES webview.allowsInlineMediaPlayback = YES,才能生效。换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么安卓手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISO的WeChat却支持。

这里就要补充下,如果是想做全屏直播或者全屏H5体验的用户,ISO需要设置删除 webkit-playsinline 标签,因为你设置 false 是不支持的 ,安卓则不需要,因为默认全屏。但这时候全屏是有播放控件的,无论你有没有设置control。 做直播的可能用得着播放控件,但是全屏H5是不需要的,那么去除全屏播放时候的控件,需要以下设置:同层播放。

x5-video-player-type:启用同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上,也是WeChat安卓版特有的属性。同层播放别名也叫做沉浸式播放,播放的时候看似全屏,但是已经除去了control和微信的导航栏,只留下"X"和"

x5-video-orientation:声明播放器支持的方向,可选值landscape 横屏, portraint竖屏。默认值portraint。无论是直播还是全屏H5一般都是竖屏播放,但是这个属性需要x5-video-player-type开启H5模式

x5­video­player­fullscreen:全屏设置。笔者还未能领悟这个标签的用意,在测试过程中发现,ture和false的设置会导致布局上的不一样,如图 Click标签先后的位置。

另外补充下,ISO 微信浏览器是Chrome的内核,相关的属性都支持,也是为什么X5同层播放不支持的原因。安卓微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏。

/****貌似到这里,了解了为什么安卓手机的全屏视频了****/

2017-01-20 17:13:55

还有个问题,在Android的微信里面,就算加上了上面的属性,还会出现上下有黑边,不能全屏的问题。

解决办法:给video加上object-fit: fill;的style属性。

/****关于微信内置浏览器不能小窗口播放视频的问题-知乎答****/

2017-01-20 17:40:38

在最新的ios微信6.5.3及其之后的版本中,webview默认支持小窗播放,

开发者需要特别注意小窗播放需要前端同时适配iOS10和iOS10以下的低版本

适配建议:需要完全按照以下代码设置video标签才可同时兼容不同的iOS版本

作者:Lying

链接:https://www.zhihu.com/question/36423771/answer/93953992

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

知友说 webkit-playsinline 可以解决这个问题.但是经过个人以及各位知友的验证该方法在ios 系统并且是在非微信自带的浏览器的内核中能够解决。Android 然并卵。

微信浏览器video标签没有封面_微信h5页面video标签用法总结相关推荐

  1. H5页面video强制下载,不打开新页面播放

    移动端H5页面video标签,点击按钮下载当前资源 1. 点击下载后ios浏览器页能直接下载,不会打开新页面播放视频. 2. 视频改名. 3. 下载进度显示,不能空屏或者无操作反馈 实现方式思考: 使 ...

  2. 微信浏览器video标签没有封面_织梦百度小程序微信小程序video标签不支持视频封面,autoplay等问题修复方法...

    在现有的百度小程序富文本组件bdParse,以及微信小程序富文本组件wxParse,对于video的标签解析仅仅只是有个video而已,其他的属性几乎都过滤掉了,所以就需要我们假设对于属性(由于H5的 ...

  3. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  4. python 模拟微信浏览器请求_用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面...

    现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动. 微信浏览器中打开网页游戏效果还不错,对 ...

  5. 微信浏览器跳转小程序php,微信浏览器里面h5跳转小程序

    微信浏览器里面h5跳转小程序 注意事项,以vue框架为例 一.获取jssdk配置,在wx.ready回调函数里面展示按钮wx.config({ debug: false, appId: data.ap ...

  6. html游戏禁止微信浏览器下拉,JavaScript实现禁止微信浏览器下拉回弹效果

    这篇文章主要为大家详细介绍了JavaScript禁止微信浏览器下拉回弹效果的方法,具有一定的参考和学习JavaScript的价值,对JavaScript感兴趣的小伙伴们可以参考一下本篇文章 本文实例为 ...

  7. 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面

    现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动. 微信浏览器中打开网页游戏效果还不错,对 ...

  8. html游戏禁止微信浏览器下拉,JavaScript中防止微信浏览器被整体拖动的方法

    在微信网页开发中,我使用的页面结构是在body下的container覆盖全屏,container下有个header和page的容器,page负责显示所有内容并实现滚动. 结构如图: 但是遇到了一个问题 ...

  9. 微信缓存dat怎么转图片_微信怎么把图片dat转为jpg?去哪下载

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

最新文章

  1. 互联网协议 — TLS — SNI
  2. 图解PE文件实例研究
  3. hybrid开发调试记录
  4. ios系统中各种设置项的url链接
  5. 09.multi-get api操作
  6. jvm classLoader 过程
  7. 阿里云再降价 数据库产品降20%
  8. Oracle内置存储过程之DBMS_OUTPUT
  9. 轻松解决vscode官网下载慢问题
  10. JS验证邮箱格式、信用码、税号和注册号
  11. 关于免费域名和空间搭建个人网站——服务器篇
  12. 吉他调音器 android,GuitarTuna - 吉他调音器
  13. GoLang之map底层系列二(浅显学习)
  14. 有道云笔记的敏捷开发实践——好文收藏吧!【转】
  15. skinsdog 狗网CSGO开箱地址!csgo开箱网站官网!
  16. java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码
  17. 连续两次入围Gartner魔力象限的Quick BI到底有何魔力?
  18. java程序员i5 i7_买电脑选择i5还是i7?很多人被忽悠了,专业人士说出了3点实话!...
  19. 辰皇怎么过鸿蒙,最新版 鸿蒙副本快速通关和爆神符攻略
  20. PPT幻灯片放映不显示备注,只让备注显示在自己屏幕上-投影机 设置

热门文章

  1. PostgreSQL的汉字转拼音
  2. 数据结构——关于图的小结
  3. 餐饮APP开发的几个基本功能
  4. 爬虫中滑动验证的绕过
  5. Android 动画—补间动画
  6. 感恩计算机语言,今天,程序员最该感谢谁?
  7. oppo手机android4.4.4,OPPO便签
  8. idea 取消自动换行
  9. QT翻译(中英文切换
  10. ThinkBook15电脑开机后马上蓝屏不能使用怎么办?