异常是什么意思?我该如何解决?我正在为 Ubuntu 使用最新的 Google Chrome。

最佳答案

在视频元素收到其 Assets 的元数据之前调用 INVALID_STATE_ERR: DOM Exception 11 时,可能会发生 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);

关于javascript - 调用 webkitEnterFullscreen() 时出现 DOM 异常 11,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7226114/

10-13 01:01