我有一小段代码可以使用HTML5播放视频 . 偶然地,我发现它在我的源元素中没有类型属性(mime类型)时运行完美(参见下面的代码) .
我以为你总是需要提供mime类型,但显然不是 . 我试过谷歌这个,但没有运气 . 以下代码在FireFox和Chrome中均可正常运行 . 我没有安装其他支持HTML5的浏览器 . 我测试中使用的视频文件是使用http的本地mp4文件和webm文件 . 结果是一样的;在没有哑剧类型的情况下,一切都很好 . 因此我的问题是:
没有type属性写这个是完全安全的还是我错过了什么? (我不需要支持IE11之前的浏览器 . )
任何有关该主题的信息将不胜感激 . 谢谢 .
<video id="videoControl1" width="600" controls poster="somepic.png">
<source id="videoSource1" src="somevideo.mp4"></source>
<object>
<p>Video is not supported</p>
</object>
</video>
1 回答
通常,浏览器会根据元数据和传入流检测MIME类型,我相信他们甚至不再查看文件类型 . 您可以通过故意将实时网络服务器上的视频重命名为错误的扩展名来实现此操作,浏览器和播放器通常仍会播放视频 .
我能找到的关于这个主题的唯一参考来自tutorial site(html5 rock tutorials),引用:
这是写于2010年,他们说"in some cases" . 不提供mime类型应该是安全的,尽管提供 wrong 可能会或可能不会导致它不播放 .