ios - ios safari 上 HTML5 视频元素的 readyState 问题

标签 ios html safari

在 iPad (iOS v. 5.1.1) 上,Safari 似乎没有根据规范保留视频元素的 readyState 值。即使从视频源加载 readyState 也为零。

我做了一个 demonstration jsfiddle which continuously checks the video's readyState .一个有趣的观察:readyState 只有在点击播放按钮后才会改变。

实际上,我希望 readyState 在加载期间切换到更高的数字(因为我测试过的桌面上的所有浏览器都是这种情况——包括 Safari。)是否存在解决方法?我这里有什么问题吗?

最佳答案

来自Apple developer documentation :

Note: The preload attribute is supported in Safari 5.0 and later. Safari on iOS never preloads.

根据 Apple 的说法,移动设备上的理想行为是仅在您主动请求资源后才开始加载,以免浪费带宽或电池。

关于您的问题,这意味着 Apple 遵守规范。由于没有预加载发生并且仅在您单击播放按钮后才开始加载,因此 readyState 在该时间点之前为零。

但是,video 标签有特殊的事件,应该比 readyState 提供更多信息。

  • onCanplay
  • onCanplaythrough
  • onProgress

再次引用 Apple developer library (Using DOM Events to monitor load progress)

Note: On the iPad, Safari does not begin downloading until the user clicks the poster or placeholder. Currently, downloads begun in this manner do not emit progress events.

关于ios - ios safari 上 HTML5 视频元素的 readyState 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633929/

相关文章:

ios - 如何保留在 block 中设置的局部变量?

objective-c - 读取PNG注释(未压缩的zTXt数据)

ios - 如何处理与 Swift 4 Codable 不一致的 JSON 格式?

html - 如何让这些图像在页面上居中?

http - Safari 不断在本地主机上强制使用 HTTPS

swift - 新的 Twitter 更新验证

ios - 如何在 Swift 中对字典类型的数组应用 removeAtIndex?

javascript - 图像上的标题文字

javascript - 如何将按钮制作为输入类型文件

iPhone/Safari : Is there a way to stop resizing the page on load?