我在检查是否正在加载视频时遇到了一些问题。我需要检查并查看是否加载,因为我正在循环加载所有视频,例如video_1.mp4,video_2.mp4,video_3.mp4。但是,它似乎忽略了“readyState”并直接转到else语句。使用JavaScript检查视频是否在iPad中加载
下面是代码:
function loadMedia() {
var media = document.getElementsByTagName("video")[0];
if (media.readyState === 4) {
alert("Video has been loaded!");
} else {
alert("Video hasn't been loaded!");
}
}
是readyState的以iPad支持?
编辑:添加更多的代码。
loadMedia函数通过匿名函数绑定到window.onload。
window.onload = (function() {
loadMedia();
});
下面是HTML:
<video class="video" controls="controls" poster="images/posters/tb_1.jpg" preload="metadata">
<source src="media/tb_1.mp4" type="video/mp4; codecs='avc1.42E01E, mp4a.40.2'" />
We apologize, but your browser does not support this video. Please consider an upgrade.
</video>
我试过了,它说“0”,我确信它的意思是“HAVE_NOTHING”。我知道苹果有一个错误记者,但我不知道你是否可以浏览它们。 – W3Geek 2012-07-19 22:22:52
'media.networkState'呢?那是什么价值? – Trott 2012-07-19 22:27:08
嗯,我试过了,值是“1”。在这个文档中,https://developer.mozilla.org/en/DOM/HTMLMediaElement表示值为“1”的是IDLE。我检查了3的值?我可能会写些不正确的东西......但它可以在Chrome和Firefox的桌面上运行。 **编辑:** networkState在桌面上不起作用。该值也是“1”。 – W3Geek 2012-07-19 22:33:35