【发布时间】:2013-09-07 22:31:45
【问题描述】:
我有这个网页:
http://healthpad.net/dashboard/
它有 10 个 <video> 元素。
由于某种原因,当我在 iPad 上加载页面时,它没有显示视频海报。
尝试以下方法:
- 在桌面浏览器上加载页面
- 在 iPad 或 iPad 模拟器上加载它,你会得到一个带有播放按钮的大黑盒子
请告诉我为什么会这样?
以下是我已经排除的:
图像内容类型标题。
我已验证正确设置了图像内容类型标头。
在上面的示例中,Content-Type 标头正确地为image/jpeg。
对 video.js 库的干扰
VideoJs 用于在桌面浏览器上显示漂亮的播放按钮并自定义控件。但是,此库不会干扰本机播放器。
只是为了确保,我创建了一个没有 video-js 类的测试视频页面,因此该库不会拾取和处理该视频。事实上,测试页面甚至没有包含任何 JS 库,它只是
<html><body>
<video
controls
height="400"
width="600"
poster="http://healthpad.net/media/CACHE/images/uploads/video_poster_1414/bd5fba5a68ddd0f4b3f61193f6908962.jpg"
src="http://healthpad.net/media/uploads/video_processed_720p_1414.mp4"
></video>
</body></html>
http://healthpad.net/rj_templates/test/zzz/
使用 Mobile Safari 可能不支持的任何视频属性
上面的测试页面只有一个普通的视频标签。我试过删除除src 和poster 之外的所有其他属性,但没有帮助。
有关该主题的大多数 StackOverflow 问题都只是说“重启你的 iPad”
这就是奇怪的地方:
如果您在这方面搜索,StackOverflow 上已被接受的答案通常会说“重新启动您的 iPad,这对我有用”。
所以我尝试过做同样的事情,一开始我只是说它在我的情况下不起作用。
然后,我尝试了这个:
(iPad模拟器上的所有以下内容)
- 转到网站,视频海报不显示
- 转到测试页面 (http://healthpad.net/rj_templates/test/zzz/),视频海报不显示。
- 单击主页退出 Safari(或模拟器的 Cmd+Shift+H mac 快捷方式)
- 双击主页按钮可将任务切换器移至 Safari 之外,点击并按住 Safari 图标直到显示终止按钮。
- 杀死 Safari
- 打开 Safari(重新启动)。此时,如果您加载测试页面(只有一个视频的页面),就会显示海报。
- 现在转到多视频页面:(http://healthpad.net/dashboard/)。视频海报不显示。
- 返回单视频测试页面,该页面的视频海报也不再有效。
- 重复第 3 步到第 8 步,查看视频海报何时停止工作的过程。
显然,Mobile Safari 决定不再显示任何视频海报。 此外,显然,我的网站触发了这种情况。
说明:
当海报不再起作用时,它不仅出现在一个域中,也不会为任何其他站点加载视频海报,无论它是否位于完全不同的域中(例如来自http://www.videojs.com/ 的演示视频) .
根据我所见,为了重置此行为,您必须杀死并重新启动 Safari。只是关闭并重新打开它不会重置此状态。
有人知道为什么会这样吗?有办法解决吗?
【问题讨论】:
-
所以你也看到了普通视频标签的问题,还是只是在使用 video.js 时?还有什么版本的video.js和什么iOS版本?
-
普通视频标签也会发生,即使 videojs 不存在。
标签: ios ipad html5-video mobile-safari