【发布时间】:2026-01-16 04:25:01
【问题描述】:
在 iPhone 和 iPod 上,如果网页中嵌入了 YouTube 视频,用户可以触摸该视频,视频将开始播放——iOS 媒体播放器滑入,视频以横向全屏播放。视频播放完毕后,iOS 媒体播放器会滑出,显示嵌入视频的网页。
使用 HTML5 <video> 标签,用户可以触摸视频,视频将“缩放”到全屏并以当前设备方向开始播放。视频播放完毕后,用户必须点击一次以调出播放器控件,然后点击“完成”以返回网页。
很遗憾,将我的视频上传到 YouTube 不是此应用程序的选项,而且我还没有找到在视频播放完毕后返回网站的 HTML5 视频播放器。我希望视频播放器表现出与 YouTube 嵌入式视频相同的行为,或者视频内联播放。在自定义的UIWebView 中可以强制内联视频,但不幸的是,这不是一个选项(因为这意味着它是一个网络应用程序,而不是本机应用程序)。此外,<video> 属性 webkit-playsinline 不起作用。
是否有任何 HTML5 视频播放器可以复制嵌入的 YouTube 视频行为?我错过了任何明显的 Javascript 解决方法吗?有没有办法告诉窗口视频播放完毕而无需用户交互?
编辑:
感谢 Jan,这个问题得到了解决。下面是工作代码,以及错误/注释列表。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>scratchpad</title>
</head>
<body>
<video id="video">
<source src="movie.mp4" type="video/mp4" />
</video>
<script type="text/javascript">
document.getElementById('video').addEventListener('ended',function(){document.getElementById('video').webkitExitFullScreen();},false);
</script>
</body>
</html>
我犯的错误:
1.忘记在<video>标签中添加ID。
2. 测试webkitSupportsFullscreen——我无法将该属性测试为“真”。 this forum post 中的代码注释说,
// note: .webkitSupportsFullscreen is false while the video is loading
但我无法创建返回 true 的条件。
3. 完全错过this * post。
【问题讨论】:
标签: iphone html video webkit mobile-safari