Javascript 我如何检查“是否”;“canplaythrough”;这是真的吗?

Javascript 我如何检查“是否”;“canplaythrough”;这是真的吗?,javascript,html5-video,Javascript,Html5 Video,如果有人点击播放按钮,我想显示一个指示器。如果视频已加载,我想隐藏预加载程序。这与readystate完美配合: var einleitung = document.getElementById('einleitung'); video.addEventListener('play', function () { if ( video.readyState === 4 ) { myApp

如果有人点击播放按钮,我想显示一个指示器。如果视频已加载,我想隐藏预加载程序。这与readystate完美配合:

            var einleitung = document.getElementById('einleitung');

            video.addEventListener('play', function () {

            if ( video.readyState === 4 ) {

                myApp.hidePreloader();

            } else {

                myApp.showPreloader('Loading...');

            }

            });
我怎样才能用canplaythrough而不是readyState来处理这个问题

像这样的事情是行不通的:

           if ( video.canplaythrough == true ) {}
video.canplaythrough为“null”

canplaythrough
是一个
事件
,不属于
音频/视频
元素的属性

此事件在
音频/视频
元素的生命周期内仅触发一次,如果该元素完全
缓冲
,并且可以在没有任何
错误的情况下播放
/
停止
,除非该元素的
src

应该是这样的:

audio|video.addEventListener("canplaythrough", function(){//your code});

是的,谢谢。问题是,当我使用它时,第一次单击play就可以很好地工作。但是,如果我点击暂停,然后再次播放,预加载程序不会再次关闭。我认为在这种情况下事件不会发生。好的,谢谢你的解释。这意味着,唯一的选择是使用readyState获取当前状态?您需要处理
播放
暂停
事件!