Ich versuche, eine Schaltfläche, die HTML5 Vollbild auf einer bestimmten Website ein-/ausschalten würde.HTML5 FullScreen API toggle mit JavaScript
Nach dem Lesen von vielen Dokumentationen scheint es immer noch einige Inkonsistenzen zu geben, wie Browser bestimmte Eigenschaften dafür behandeln.
Ich ging für eine Art "Cross-Browser" -Ansatz, die funktioniert in Firefox und Safari/MacOS funktioniert, teilweise in Safari/Windows funktioniert und funktioniert völlig in Chrome und Opera.
Einige kastriert Code-Schnipsel:
// class init
initialize: function() {
this.elmButtonFullscreen = $('fullscreen');
this.elmButtonFullscreen.on('click', this.onClickFullscreen.bindAsEventListener(this));
},
// helper methods
_launchFullScreen: function(element) {
if(element.requestFullScreen) { element.requestFullScreen(); }
else if(element.mozRequestFullScreen) { element.mozRequestFullScreen(); }
else if(element.webkitRequestFullScreen) { element.webkitRequestFullScreen(); }
},
_cancelFullScreen: function() {
if(document.cancelFullScreen) { document.cancelFullScreen(); }
else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); }
else if(document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); }
},
_isFullScreen: function() {
fullScreen = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled ? true : false;
if(this.debug) console.log('Fullscreen enabled? ' + fullScreen);
return fullScreen;
},
// callbacks
onClickFullscreen: function(e) {
e.stop();
if(this._isFullScreen()) this._cancelFullScreen();
else this._launchFullScreen(document.documentElement);
}
Zumindest in FF24 ist es mozFullScreenEnabled (Bildschirm mit Großbuchstaben) – Narretz
Auch nicht, das ist _isFullScreen zurück, wenn ein Browser angezeigt werden kann Vollbild, nicht wenn Vollbild gerade aktiv ist. Sie müssen nach document.fullscreenElement und den Browser-Varianten dafür Ausschau halten. – Narretz