Javascript 带flash的Html5视频循环

Javascript 带flash的Html5视频循环,javascript,jquery,html,video,cross-browser,Javascript,Jquery,Html,Video,Cross Browser,我有一个页面上的视频,需要在所有浏览器中无限循环。我放弃了在视频标签中使用loop atribute,因为它在所有浏览器中都不能正常工作,并阻止了我的JS。我猜JS无法检测到视频结束 我使用以下代码 HTML: 此解决方案很好,但视频再次重新加载时会导致出现一段时间的空白。我想,一旦视频最初加载,就不需要再次加载。没有this.load()循环将无法工作 你知道如何在没有空间闪现的情况下实现循环吗 谢谢你 部分解决方案 我发现Chrome有问题。在Chrome浏览器中,这个.play()由于某种

我有一个页面上的视频,需要在所有浏览器中无限循环。我放弃了在视频标签中使用loop atribute,因为它在所有浏览器中都不能正常工作,并阻止了我的JS。我猜JS无法检测到视频结束

我使用以下代码

HTML:

此解决方案很好,但视频再次重新加载时会导致出现一段时间的空白。我想,一旦视频最初加载,就不需要再次加载。没有
this.load()
循环将无法工作

你知道如何在没有空间闪现的情况下实现循环吗

谢谢你

部分解决方案 我发现Chrome有问题。在Chrome浏览器中,这个.play()由于某种原因不起作用,但它在其他浏览器中起作用。所以我用下面的代码部分修复了它。我愿意接受更好的解决方案

function videoLoop() {
    var video = $('video#id');

    //Chrome is not working with this.play() only
    var isChrome = !!window.chrome;

    video.bind("ended", function() {
        if (isChrome) {
            this.load();
        }
        this.play();
    });
};

尝试将
循环
添加到视频标记中:

<video autoplay="" loop preload="auto" poster="file" id="id">
...

如何处理
循环
属性?尝试将currenttime设置为0,而不是重新加载它?如果我使用循环atribute,我无法使用该JS检测视频的结束。但仅使用环阿曲布他在Chrome中不起作用。我更愿意只使用JS.trued to this.currentTime=0;这个。play();但现在不行了。视频不循环。还有其他想法吗?看起来你遇到了这个问题:如果我使用环阿曲布他,我就无法使用该JS检测视频的结尾。但仅使用环阿曲布他在Chrome中不起作用。我宁愿只使用JS。谢谢你的回答。由于某种原因,我的视频仍然无法正常工作。我比较了html代码,唯一的区别是我首先有源代码*.webm,其次是*.mp4。你认为这会有所不同吗?我可以检测到视频停止了,但没有发生任何事情。播放…源顺序不应影响。如果你可以随意修改你当前的代码,我们可以处理它(或者使用我发布的代码)。好吧,我刚刚发现了这个问题。你怎么看?但是发生了什么?视频没有加载?也许问题在于所使用的编解码器。我建议你阅读和阅读。
function videoLoop() {
    var video = $('video#id');

    //Chrome is not working with this.play() only
    var isChrome = !!window.chrome;

    video.bind("ended", function() {
        if (isChrome) {
            this.load();
        }
        this.play();
    });
};
<video autoplay="" loop preload="auto" poster="file" id="id">
...
$('video').on('ended', function(){
    this.play();
});