iOS Safari和微信内置浏览器中视频行内播放需同时设置playsinline、webkit-playsinline和muted属性,并确保viewport声明及避免transform/overflow:hidden干扰。
在 iOS Safari 和部分微信内置浏览器中,HTML5 视频默认会全屏播放,若想让视频在页面内(即“行内”)播放,必须正确配置 playsinline 属性,并配合其他必要属性。
只需在 <video> 标签中加入 playsinline(布尔属性,无需赋值)即可启用行内播放:
<video src="example.mp4" controls playsinline></video>
注意:该属性仅对 iOS 10+ 及部分 Android 浏览器生效,且需满足后续条件才真正起作用。
立即学习“前端免费学习笔记(深入)”;
仅加 playsinline 不够,iOS Safari 要求视频还满足以下至少一项条件:
muted 属性(静音):适用于自动播放场景,如 banner 视频、背景视频play()),且未使用 autoplay
webkit-playsinline(旧版 iOS 兼容写法,建议保留)推荐完整写法示例:
<video src="video.mp4" controls playsinline webkit-playsinline muted></video>
若需页面加载后自动行内播放(如 H5 宣传页),关键点如下:
muted(iOS 强制要求)autoplay,但注意部分微信版本可能拦截无交互的 autoplaycanplay 或 loadeddata 后调用 play() 提升兼容性load 事件,它不保证媒体已就绪微信 iOS 版基于 WKWebView,支持 playsinline,但部分旧版本(如 7.0.5 之前)需额外配置:
<head> 中有 viewport 声明:transform 或 overflow: hidden,可能干扰内联渲染playsinline 仍建议保留以统一行为阿里云百炼Token Plan和Coding Plan省钱订阅计划:如何选择?有哪些区别?
最新:阿里云万小智收费价格:活动15元1个月:180元1年:轻量版、标准版及高级版功能支持
移动端的AI助手不应只是客服窗口:更应借助AI能力将小程序服务变成可调用能力
AI搜索引用到客户咨询:中间隔着三层数据漏斗
【码道代码智能体】码道界面焕新:AI 懂需求 开发更顺手
CodexBar:把 AI 编码额度接入 macOS 菜单栏