调用webkitEnterFullscreen()时的DOM异常11

时间:2011-08-29 04:40:52

标签: javascript html5 domexception

异常是什么意思?我该如何解决?我正在使用最新的谷歌浏览器用于Ubuntu。

1 个答案:

答案 0 :(得分:4)

在视频元素收到其资源的元数据之前调用INVALID_STATE_ERR: DOM Exception 11时,可能会发生{p> webkitEnterFullscreen。最简单的解决方案是通过将webkitEnterFullscreen放入分配给视频loadedmetadata事件的回调函数来推迟对var video, play, fullscreen; video = document.createElement('video'); video.src = 'my_cool_video.mp4'; video.addEventListener('loadedmetadata', function () { fullscreen.disabled = false; }, false); play = document.createElement('button'); play.innerHTML = 'PLAY'; play.addEventListener('click', function () { video.play(); }, false); fullscreen = document.createElement('button'); fullscreen.innerHTML = 'FULLSCREEN'; fullscreen.disabled = true; fullscreen.addEventListener('click', function () { video.webkitEnterFullscreen(); }, false); document.body.appendChild(video); document.body.appendChild(play); documnet.body.appendChild(fullscreen); 的调用。

在移动环境中,您需要将该调用附加到可触摸元素,以便用户启动它,因为播放和全屏操作必须由移动环境中的用户交互驱动。

代码看起来应该是这样的:

{{1}}