javascript - 当通过 Javascript 将 URL 解析为 HTML5 视频元素时,iOS7 不检测内容类型

标签 javascript ios html dojo html5-video

我遇到了一个问题,我的 WebView 上有一个视频元素。它看起来像这样:

<video id="player" preload controls>
   <source id="source" src="" type="video/x-m4v"></source>
</video>

当我尝试通过 javascript 文件加载视频时,它不会在 iOS 设备上加载:

var player = dojo.byId("player");
player.src="http://trololoexample.com/trololoEndpoint?id=23454325&type=823405"
player.load()

我也试过这个:

var source = dojo.byId("source");
domAttr.set(source, "src", "http://trololoexample.com/trololoEndpoint?id=23454325&type=823405")
player.load()

我得到这个屏幕:

enter image description here

但是当我在网络浏览器中测试它时,视频加载正常...

这是来自 chrome 的一些响应 header ,这是预期的结果(视频加载和播放正常):

enter image description here

这是来自 iPad 的响应 header ,这是意想不到的:

enter image description here

您还可以在这里看到它无法识别类型并将其显示为“其他”而不是 m4v:

enter image description here

你能帮忙吗?谢谢!

更新:.mov 文件也会发生同样的事情,它们不会在 iOS 上加载

最佳答案

我不确定它是否对您有帮助,但我知道提供视频文件的网络服务器必须允许字节范围请求。

如果不是,那么您将得到这张“漂亮”的图片。

您可能需要查看 this 的附录 A如果您运行 PHP Web 服务器,请访问该页面。

希望对你有帮助

雷诺

关于javascript - 当通过 Javascript 将 URL 解析为 HTML5 视频元素时,iOS7 不检测内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25292365/

相关文章:

javascript - 在 SailsJS 中设置初始化的更好地方

ios - 从 Firebase 保存大量数据

ios - UIPopoverPresentationController.barButtonItem 不工作,似乎被忽略

ios - 如何使用单元格中的按钮获取 CollectionViewCell 的当前项目?

php - mysql_fetch_array() 提交表单时出错

html - 将 html TD 宽度设置为字符数

javascript - 使用 vanilla javascript 获取 JSON API 响应

javascript - Javascript 数组真的是数组吗?

javascript - 每次调用函数时,函数中声明的字符串变量是否都会重新创建?

javascript - 用 fetch 事件替换 service worker 中的 Assets