Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 点击jquery并更改HTML5视频源_Javascript_Jquery - Fatal编程技术网

Javascript 点击jquery并更改HTML5视频源

Javascript 点击jquery并更改HTML5视频源,javascript,jquery,Javascript,Jquery,我知道以前有人问过这个问题,但出于某种原因,这个策略似乎不适合我 这是我的代码: $(document).ready(function() { $('#foo').click(function() { var videoFile = 'video/law_cash.mp4'; $('#video_container video source').attr('src', videoFile); }); }); 单击功能

我知道以前有人问过这个问题,但出于某种原因,这个策略似乎不适合我

这是我的代码:

   $(document).ready(function() {
        $('#foo').click(function() {
        var videoFile = 'video/law_cash.mp4';
        $('#video_container video source').attr('src', videoFile);
        });
    });
单击功能起作用,而且当我签入firebug时,视频/law_cash.mp4会显示在右侧区域。当我点击时,它不会加载

编辑:这就是我真正想要做的:

$(document).ready(function() {

    var knicks = 'video/knicks_therapist.m4v';
        law = 'video/law_cash.mp4';
        fit = 'video/fit_some.mp4';
        texas = 'video/texas_familia.mp4';
        partner = 'video/drug.m4v';
        keyspan = 'video/keyspan_nrg.mov';

    $('#law').click(function() {
        $('#video_container video source').attr('src', law);
        $('#video_container video source').load();
    });

    $('#knicks').click(function() {
        $('#video_container video source').attr('src', knicks);
        $('#video_container video source').load();
    });

    $('#fit').click(function() {
        $('#video_container video source').attr('src', fit);
        $('#video_container video source').load();
    });

    $('#texas').click(function() {
        $('#video_container video source').attr('src', texas);
        $('#video_container video source').load();
    });

    $('#partner').click(function() {
        $('#video_container video source').attr('src', partner);
        $('#video_container video source').load();
    });

    $('#keyspan').click(function() {
        $('#video_container video source').attr('src', keyspan);
        $('#video_container video source').load();
    });
});
html:


Firefox不支持MPEG音频/视频格式。。。不知道为什么

编辑:如果您注册了一个
onerror
事件,那么它将触发,视频元素的
error
对象将告诉您
媒体错误SRC\u不受支持

只需使用javascript即可

video.src = 'new/url/video.ogv';
video.load();  // Load the new video
video.play();  // Play it

在最初的示例中,我认为加载视频的代码片段应该是

$('#video_container video').load();

(在“视频”标记之后没有“源”标记)

这不是一个好的答案,原因有几个——一个是AVI是一种包装格式,浏览器严重依赖于格式和编解码器,另一个是它不能解决问题……对格式很抱歉(我已经修复了它)。但是这个例子(除了格式错误)在Firefox和Chromium中非常适合我。它将当前正在播放的视频切换到
new/url/video.ogv
处的视频。但是,请注意,Robert的代码中包含MP4,这是他出现问题的实际原因;)我认为他的问题的根源是他没有调用
load()
。请原谅我的错误。我用我真正想要实现的东西更新了代码。是的,所有这些不同的格式都在safari中工作。这是一个内部的东西,所以我真的不在乎它是否在其他浏览器上工作。不过,我不使用firefox作为我的主要测试浏览器。我只使用firefox查看是否会出现任何错误,以防web inspector(safari)没有发现。好吧,你应该检查视频元素的
canPlayType('video/mpeg')
返回值-如果是空的或
“no”
,那么问题是浏览器,而不是你的代码。谢谢,这使我能够加载视频,但是flowplayer主题现在被打破了
$('#video_container video').load();