小编Tor*_*iks的帖子

如何通过requestAnimationFrame传递参数?

在主程序中,我随机选择一个我想要动画的对象,所以我用对象作为参数调用该函数.第一个循环没问题,X设置得很好,但是在下一个循环中它变得不确定.

像这样的东西:

var anim = {
        mainFunc: function(x) {
            anim.update(x);
            anim.redraw(x);
            window.requestAnimationFrame(anim.mainFunc);
        },

        update: function(x) {

        },

        redraw: function(x) {

        }
};

var n=Math.floor(Math.random() * (ArrayOfAnimObject.length));
anim.mainFunc(ArrayOfAnimObject[n]);
Run Code Online (Sandbox Code Playgroud)

javascript requestanimationframe

19
推荐指数
3
解决办法
2万
查看次数

检测HTML视频自动播放防护

出于可理解的原因,移动浏览器会阻止视频自动播放。我的网站上有视频背景,因此控制按钮毫无疑问,但是我认为我可以弹出带有一些信息和按钮的窗口,用户可以在其中接受背景视频(触发手动播放),也可以不接受。将其更改为一些静态图片。

所以问题是:有没有办法判断自动播放是否被浏览器打断了?

我试过了,onerror但它没有触发,所以我也尝试了onsuspend

HTML:

<video id='bgvid' src='bgvid.mp4' type='video/mp4' autoplay loop onsuspend='video_suspended()'>
Run Code Online (Sandbox Code Playgroud)

Javascript:

function video_suspended() {
    $bgvideoElement=$("#bgvid").get(0);
        //Check if reason for suspend was completion or browser interruption
        if($bgvideoElement.readyState<1) {
            //Here comes some pop-up window and a button to
            $bgvideoElement.play();
    } 
}
Run Code Online (Sandbox Code Playgroud)

它在平板电脑(Chrome)上可以正常工作,但在台式机(Chrome)上onsuspend可以无限触发(尽管Firefox还可以)。

关于Chrome问题或其他替代方案有什么想法吗?

html javascript autoplay mobile-browser html5-video

5
推荐指数
1
解决办法
1135
查看次数