ios safari上的HTML5video元素的readyState问题
在iPad上(iOS 5.1.1),Safari并没有根据规范保留video元素的readyState
值。 即使从video源readyState
加载等于零。
我做了一个演示jsfiddle不断检查video的readyState
。 一个有趣的观察:只有在点击播放button后, readyState
才会改变。
实际上,我期望readyState
在加载过程中切换到更高的数字(就像我testing的桌面上的所有浏览器都是这种情况 – 包括Safari)。是否有解决方法? 我在这里弄错了什么?
从Apple开发者文档 :
注意:Safari 5.0及更高版本支持预加载属性。 iOS上的Safari永远不会预加载。
根据苹果在移动设备上所需的行为是,只有在您主动请求资源后才开始加载,以免浪费带宽或电池。
关于你的问题,这意味着苹果是坚持规范。 由于没有发生预加载,只有在点击播放button之后才开始加载,则在该点之前readyState
为零。
但是, video
标签有一些特殊的事件,比起readyState
,它们可以提供更多的信息。
-
onCanplay
-
onCanplaythrough
-
onProgress
再次引用Apple开发者库(使用DOM事件监视加载进度)
注意:在iPad上,Safari不会开始下载,直到用户单击海报或占位符。 目前,以这种方式开始的下载不会发送进度事件。
- iOS 7上Web应用程序中的HTTP基本validation失败?
- 无法在Safari ios设备中打开mobileconfig文件
- 如何防止使用移动Safari浏览器从caching中重新加载网页?
- 移动Safari / Webview中的touchstart防止灰色覆盖
- WebRTC大多数时候将Safari与Chrome连接起来不起作用
- apple-mobile-web-app-status-bar-style做什么?
- hover的CSSdynamic导航 – 如何让它在iOS Safari中工作?
- 在iOS Safari上播放WAV文件
- iOS 9 -webkit-overflow-scrolling:touch`和`overflow:scroll`打破了滚动function