ios和安卓微信内联播放需同时设置playsinline与webkit-playsinline(ios)、x5-playsinline="true"(安卓),微信ios还需x5-video-player-type="h5-page"(点播)或x-webkit-airplay="allow"(m3u8直播),且css不能含transform等非标准渲染属性,js需load()后play()。

微信iOS和Safari都认playsinline,但必须配webkit-playsinline
iOS Safari(包括微信iOS版)要求playsinline和webkit-playsinline同时存在,缺一不可。iOS 9–14.8 版本只识别webkit-playsinline,而 iOS 15+ 开始支持标准playsinline,但为了兜底,两个属性必须一起写。漏掉webkit-playsinline,旧机型直接忽略内联请求,fallback 到全屏播放器。
常见错误写法:<video playsinline></video> 或 <video webkit-playsinline></video> —— 单独出现等于没写。
-
playsinline="true"是无效写法,会被 Safari 当作自定义属性跳过校验 - React 中应写
playsInline(驼峰),但必须在首次 render 就存在,不能靠useEffect补 - Vue 中用
v-bind:playsinline="true"会渲染成带值属性,应改用v-bind:playsinline="null"或静态写法playsinline
安卓微信完全不认playsinline,只吃x5-playsinline="true"
安卓微信用的是腾讯 X5 内核,它对 HTML5 标准属性基本无视。playsinline 和 webkit-playsinline 在这里形同虚设,必须显式加上 x5-playsinline="true" 才可能触发同层 H5 播放器。
注意:x5-playsinline 是字符串属性,值必须写出来;只写 x5-playsinline(无值)在某些 X5 版本里也不生效。
公众号运营:文章发布至草稿、样式封面、评论与用户管理、数据统计等。用户要求将 Markdown 发送到公众号草稿、查看阅读量统计或类似后台操作时,使用本技能。
- 安卓微信中加了
playsinline但没加x5-playsinline="true"→ 视频照常全屏 - 微信iOS版也建议叠加
x5-playsinline="true",虽非必需,但能提升部分版本兼容性 - 不要混用:比如给安卓微信也塞
webkit-playsinline,既无用又增加 DOM 噪声
微信要额外加x5-video-player-type="h5-page",但m3u8直播流得反着来
微信iOS端光有标准属性还不够,必须声明 x5-video-player-type="h5-page",否则 X5 内核大概率绕过你的设置,直接唤起自己的全屏播放器。
但有个关键例外:如果是 m3u8 直播流,这个属性反而会触发强制全屏。此时应去掉 x5-video-player-type,换成 x-webkit-airplay="allow" + x5-playsinline="true" 组合。
-
x5-video-player-type="h5-page"对点播 MP4/WEBM 有效,是微信iOS的“准入通行证” - 漏掉它,哪怕其他所有属性都对,微信iOS仍可能降级到原生全屏
- 加了但没配
x5-video-orientation="portrait",横屏手势可能劫持页面,导致意外旋转
CSS布局异常会让所有HTML属性失效
即使你把playsinline、webkit-playsinline、x5-playsinline="true"、muted、autoplay 全写齐了,一个 transform 或 overflow: hidden 就能让整套策略崩盘。
iOS Safari 会对 video 容器做隐式健康检查,只要检测到非标准渲染上下文(如 transform: translateZ(0)、perspective、will-change),就会判定为“不可信容器”,直接禁用内联播放。
- 避免给 video 或其任意父级元素设置
transform、overflow: hidden、clip-path -
object-fit: cover+width: 100%这类拉伸组合,在 X5 内核里会被识别为“非标准容器”,同样触发全屏 fallback - 微信中若用 JS 动态赋值
video.src,必须紧接着调video.load()再video.play(),否则 Safari 不重新校验内联策略
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










