这很不可思议,因为我以为所有的视频都会在普通版Safari中全屏播放。例如,看一下这个:
https://entertainment.theonion.com/the-onion-reviews-rogue-one-1819596116
该视频内联播放时,即使我切换Safari标签也不会停止。那里发生了什么?他们使用js和HTML5画布来渲染视频吗?他们如何使声音同步如此完美?
这很不可思议,因为我以为所有的视频都会在普通版Safari中全屏播放。例如,看一下这个:
https://entertainment.theonion.com/the-onion-reviews-rogue-one-1819596116
该视频内联播放时,即使我切换Safari标签也不会停止。那里发生了什么?他们使用js和HTML5画布来渲染视频吗?他们如何使声音同步如此完美?
根据@offbeatmammal在评论中发布的链接,构建一个答案。
还基于iOS的新视频政策,具体如下:
在iPhone上,
<video playsinline>
元素现在将允许内联播放,并且当播放开始时不会自动进入全屏模式。
没有playsinline
属性的<video>
元素将继续要求在iPhone上全屏播放。
使用捏合手势退出全屏后,没有playsinline
的<video>
元素将继续内联播放。
关于playsinline
属性的说明:
<video autoplay loop muted playsinline>
<source src="image.mp4">
<source src="image.webm" onerror="fallback(parentNode)">
<img src="image.gif">
</video>
设置备用方案,在视频出错时显示图像
function fallback(video)
{
var img = video.querySelector('img');
if (img)
video.parentNode.replaceChild(img, video);
}