【问题标题】:InvalidStateError: An attempt was made to use an object that is not, or is no longer, usableInvalidStateError:尝试使用不可用或不再可用的对象
【发布时间】:2016-04-30 10:39:55
【问题描述】:

以下内容适用于 Chrome,但不适用于 Firefox:

var myVideo = document.getElementById('myVideo')
myVideo.currentTime = 570
<video id="myVideo" controls>
<source src="myVideo.mp4" type="video/mp4">
</video>

在 Firefox 中它说

InvalidStateError:尝试使用不是的对象, 或不再可用

第 2 行。

【问题讨论】:

  • 这是由Firefox Bug #1188887 引起的,我相信它已经在 Firefox beta 中修复了。目前,您最好的选择是使用 adeneo 提出的解决方案,或者捕获异常并在一段时间后重试。

标签: javascript firefox html5-video


【解决方案1】:

当对象(在本例中为视频)没有加载到足以设置 currentTime 并向前跳转时,就会发生该错误。

您必须等到视频可以播放后才能设置currentTime

var myVideo = document.getElementById('myVideo')

myVideo.addEventListener('canplaythrough', function() {
    myVideo.currentTime = 570;
}, false);

【讨论】:

    猜你喜欢
    • 2019-03-05
    • 2014-05-21
    • 2013-09-24
    • 2014-05-19
    • 2013-12-08
    • 2013-10-08
    • 2022-08-18
    • 2013-06-17
    • 2013-12-01
    相关资源
    最近更新 更多