我有这个网页:
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
and之外的所有其他属性poster
,但没有帮助。
大多数关于该主题的 StackOverflow 问题只是说“重新启动你的 iPad”
这就是奇怪的地方:
如果您对此进行谷歌搜索,已接受的 StackOverflow 上的答案通常会说“重新启动您的 iPad,这对我有用”。
所以我尝试做同样的事情,起初我只是说它在我的情况下不起作用。
然后,我尝试了这个:
(iPad模拟器上的所有以下内容)
- 去网站,视频海报不显示
- 转到测试页面 ( http://healthpad.net/rj_templates/test/zzz/ ),视频海报不显示。
- 点击 home 退出 Safari(或者模拟器的 Cmd+Shift+H mac 快捷键)
- 双击主页按钮以在 Safari 之外获取任务切换器,点击并按住 safari 图标直到显示终止按钮。
- 杀死野生动物园
- 打开 Safari(重新启动)。此时,如果您加载测试页面(只有一个视频的页面),就会显示海报。
- 现在转到多视频页面:(http://healthpad.net/dashboard/)。视频海报不显示。
- 回到单视频测试页面,那个视频海报也失效了。
- 重复步骤 3 到 8,查看视频海报何时停止工作的过程。
显然,在某些时候,Mobile Safari 决定不再显示任何视频海报。此外,显然,我的网站触发了这种情况。
说明:
当海报不再起作用时,它不仅出现在一个域上,也不会为任何其他站点加载视频海报,无论它是否在完全不同的域中(例如来自http://www.videojs的演示视频.com/)。
为了重置此行为,据我所知,您必须杀死并重新启动 Safari。只是关闭并重新打开它不会重置此状态。
有谁知道为什么会这样?有没有办法解决它?