带html的javascript<;视频>;加载();play()函数未触发
我一直在用HTML构建一个定制的视频播放器,但我遇到了一个问题,我怀疑这是我的javascript造成的,经过几个小时的努力,我承认失败了 问题是,从我所看到的情况来看,我的'loadChapter()'函数运行正常,但当第二次启动时,video.load()和video.play()方法似乎停止工作 我不能包括一个链接到实际的页面,由于与客户的披露协议,这里是审查代码 HTML:带html的javascript<;视频>;加载();play()函数未触发,html,video,Html,Video,我一直在用HTML构建一个定制的视频播放器,但我遇到了一个问题,我怀疑这是我的javascript造成的,经过几个小时的努力,我承认失败了 问题是,从我所看到的情况来看,我的'loadChapter()'函数运行正常,但当第二次启动时,video.load()和video.play()方法似乎停止工作 我不能包括一个链接到实际的页面,由于与客户的披露协议,这里是审查代码 HTML: 您的浏览器不支持HTML视频。 javascript(使用jQuery): $(文档).re
您的浏览器不支持HTML视频。
javascript(使用jQuery):
$(文档).ready(函数(){
var shell=“#shell”;
var objH=$(shell.outerHeight();
汽车制造商(壳牌);
$(窗口)。调整大小(函数(){
汽车制造商(壳牌);
});
功能自动边缘(obj){
var winH=$(window.height();
如果(winH>=objH){
var topMargin=(winH/2)-(objH/2);
$(obj).css('marginTop',topMargin);
};
};
//获取视频文件
var video=document.getElementById('video'))
var filepath=“video/”;
var=新数组();
var totalChapters=$(“#chapters li”)。长度;
对于(i=0;i=0){
本章——;
加载章节(当前章节);
};
});
}))
视频标记的“海报”和dom中的标记都是通过loadChapter()脚本正确加载的,但我很难弄清楚为什么视频只加载和播放一次
这里有什么我遗漏的吗?这个问题的解决方案比不正确的代码更神秘,当我在Firefox中测试视频时,它工作正常,当文件在嵌套标记中引用时,webkit浏览器似乎在video.load()方法上有一些问题 我通过编写一条条件语句并将新视频的src直接附加到标记本身来解决这个问题:
function loadChapter(i) {
//$('#video').attr('poster', chapters[i][0]);
if($.browser.safari || $.browser.msie) {
$('#video').attr('src', chapters[i][1]);
} else {
$('#video').attr('src', chapters[i][2]);
};
video.load();
video.play();
};
$(document).ready(function(){
var shell = "#shell";
var objH = $(shell).outerHeight();
autoMargins(shell);
$(window).resize(function() {
autoMargins(shell);
});
function autoMargins(obj){
var winH = $(window).height();
if (winH >= objH ) {
var topMargin = (winH/2) - (objH/2);
$(obj).css('marginTop', topMargin);
};
};
// GET VIDEO FILES
var video = document.getElementById('video')
var filepath = "video/";
var chapters = new Array();
var totalChapters = $('#chapters li').length;
for( i=0; i < totalChapters; i++ ) {
chapters[i] = new Array();
filename = $('#chapters li a:eq(' + i + ')').attr('href');
for( j=0; j < 3; j++ ) {
chapters[i][0] = filepath + filename + ".png";
chapters[i][1] = filepath + filename + ".mp4";
chapters[i][2] = filepath + filename + ".webm";
};
};
// CHAPTER CONTROLS
var currentChapter = 0;
$('#chapters li a').click(function(e) {
e.preventDefault();
currentChapter = $(this).parent().index();
loadChapter(currentChapter);
});
var mp4 = document.getElementById("mp4");
var webm = document.getElementById("webm");
function loadChapter(i) {
$('#video').attr('poster', chapters[i][0]);
mp4.setAttribute("src", chapters[i][1]);
webm.setAttribute("src", chapters[i][2]);
video.load();
video.play();
};
$('#play').click(function(e) {
e.preventDefault();
$('#play').toggle();
$('#pause').toggle();
});
$('#pause').click(function(e) {
e.preventDefault();
$('#play').toggle();
$('#pause').toggle();
});
$('#next').click(function(e) {
e.preventDefault();
if (currentChapter < totalChapters ) {
currentChapter++;
loadChapter(currentChapter);
};
});
$('#prev').click(function(e) {
e.preventDefault();
if (currentChapter >= 0 ) {
currentChapter--;
loadChapter(currentChapter);
};
});
function loadChapter(i) {
//$('#video').attr('poster', chapters[i][0]);
if($.browser.safari || $.browser.msie) {
$('#video').attr('src', chapters[i][1]);
} else {
$('#video').attr('src', chapters[i][2]);
};
video.load();
video.play();
};