我有一个 Web 应用程序在使用Chrome 30.0.1599.101 m
.
我正在使用 HTML5<video />
标记并src
使用javascript
.
导致错误的页面有时会在第一个视频或第七个视频上出错。没有可预测的模式。
这是javascript
处理src
:
var playing = false;
var media = $('#video')[0];
function initModule() {
$.ajax({
url: recap,
type:'HEAD',
error:
function(){
screenNotify('Error!', false, "404: Module video content could not be found." + recap, true);
},
success:
function() {
media.src = recap;
registerListeners(media);
media.load();
}
});
}
function registerListeners(listen) {
listen.addEventListener('ended', hide_recap);
listen.addEventListener('error', mediaError);
}
function mediaError(event) {
screenNotify('Media Error!', false, "Media failed with code: " + event.currentTarget.error.code, true);
}
function play_recap() {
if (!playing) {
playing = true;
media.play();
}
}
function hide_recap() {
if (playing) {
playing = false;
media.pause();
media.currentTime = 0.0;
}
}
有趣的是,当我调用 时没有抛出错误media.load()
,相反,您需要查看网络请求以查看GET
实际产生的结果(failed)
。
需要注意的另一件事是,此GET
状态仅适用于驻留在此特定文件夹位置的视频:/interactive/vids/recap/
. 该错误不会发生在应用程序中的其他任何地方。
最后,关于这个错误的最后一件奇怪的事情是,当应用程序最终尝试从 播放视频时play_recap()
,实际上会播放大约 1 秒的视频,然后在video
元素上抛出一个错误。
但是,错误是MEDIA_ERR_NETWORK
此应用程序本地安装在Tomcat
服务器上并在localhost
.
那么,当一切都只在运行时,为什么会产生GET
请求(failed)
而HTML5
<video>
元素会产生 a呢?MEDIA_ERR_NETWORK
localhost