Wie zeichne ich Tastaturereignisse auf, während ich ein HTML5-Video im Vollbildmodus ansehe?

Ich muss wissen, wann der Benutzer beim Betrachten eines HTML5-Videos im Vollbildmodus die Escape-Taste drückt. Leider werden konfigurierte Listener im Dokument nicht angewendet, da der Systemfokus beim Betrachten eines HTML5-Videos im Vollbildmodus auf dem nativen Videoplayer und nicht auf dem Browser liegt.

Eine Alternative ist das Abhören, wenn der Fokus vom nativen Videoplayer auf den Browser zurückgesetzt wird, aber ich bin mir nicht sicher, wie ich dies erfassen würde.

document.addEventListener('keydown', function (e) { console.log(e.keyCode); }, false);

Das oben Gesagte meldet sich erfolgreich bei der Konsole an, wenn ich Tasten drücke, solange ich im Browser bin. Sobald ein HTML5-Video in den Vollbildmodus wechselt, kann der Browser offensichtlich keine Schlüsselcodes mehr in der Konsole protokollieren.

Ich versuche, nach dem Verlassen des Vollbildmodus von einer Benutzeroberfläche zur anderen zu wechseln.

BEARBEITEN

Die Antwort von Potench war als Ausgangspunkt nützlich, weshalb ich sie trotz der folgenden Einschränkungen als Antwort akzeptierte:

Es funktioniert nur in Webkit-Browsern. :-)Wie ursprünglich definiert funktioniert es seitdem nicht mehrvideo.webkitDisplayingFullscreen isttrue wann immer dieresize Ereignisfeuer.

Ich habe dies funktioniert - nur in Webkit-Browsern - indem ich auf Animationsframes getippt habe, um ständig nach Wertänderungen zu suchen:

var onFrame, isVideoFullscreen;

onFrame = window.requestAnimationFrame ||
          window.mozRequestAnimationFrame ||
          window.webkitRequestAnimationFrame ||
          window.oRequestAnimationFrame ||
          window.msRequestAnimationFrame ||
          function (fn) {
              setTimeout(fn, 1000 / 60);
          };

isVideoFullscreen = false;

function frame() {
    if (!isVideoFullscreen && video.webkitDisplayingFullscreen) {
        // entered fullscreen mode
        isVideoFullscreen = true;
    } else if (isVideoFullscreen && !video.webkitDisplayingFullscreen) {
        // exited fullscreen mode
        isVideoFullscreen = false;
    }
    onFrame(frame);
}
onFrame(frame);

Antworten auf die Frage(1)

Ihre Antwort auf die Frage