Mit entsprechenden JavaScript-Methoden und -Attributen lässt sich der Vollbildmodus starten und beenden. Über eine CSS-Regel kann man das Aussehen der im Vollbild dargestellten Elemente beeinflussen.
Mit JavaScript Vollbildmodus starten und beenden
Mit der Methode „requestFullScreen()“ lässt sich der Vollbildmodus starten. Allerdings verwenden derzeit Mozilla- und Webkit-Browser unterschiedliche Methoden, weshalb man alle drei Varianten berücksichtigen sollte:
function vollbild() {
var element = document.getElementById("inhalt");
if (element.requestFullScreen) {
element.requestFullScreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
}
document.getElementById("vollbild_link").addEventListener("click", vollbild, false);
Im Beispiel wird ein Element über seine ID „inhalt“ im Vollbildmodus gestartet. Hinter der ID kann sich ein Bild oder Video verbergen. Es lassen aber auch mehrere in einem Container platzierte Elemente im Vollbild darstellen. Auch eine komplette Seite kann man über „document.getElementsByTagName("body")[0]“ in den Vollbildmodus bringen.
Einzelne Elemente werden automatisch auf die Gesamtbreite und -höhe des Bildschirms skaliert. Werden mehrere Elemente oder eine ganze Seite im Vollbild ausgeführt, findet keine Skalierung statt.
Beendet werden kann der Vollbildmodus mit der Escape-Taste. Es lassen sich aber auch individuelle Links dafür einrichten. Außerdem lässt sich abfragen, ob der Vollbildmodus aktiviert ist. Auf diese Weise kann man das Starten und Beenden des Vollbildmodus über denselben Link realisieren:
function vollbild() {
var element = document.getElementById("inhalt");
if (element.requestFullScreen) {
if (!document.fullScreen) {
element.requestFullscreen();
} else {
document.exitFullScreen();
}
} else if (element.mozRequestFullScreen) {
if (!document.mozFullScreen) {
element.mozRequestFullScreen();
} else {
document.mozCancelFullScreen();
}
} else if (element.webkitRequestFullScreen) {
if (!document.webkitIsFullScreen) {
element.webkitRequestFullScreen();
} else {
document.webkitCancelFullScreen();
}
}
}
document.getElementById("vollbild_link").addEventListener("click", vollbild, false);
Auch hier ist wieder zu beachten, dass Mozilla- und Webkit-Browser unterschiedliche Bezeichnungen der Methoden und Attribute verwenden. Teilweise besteht der Unterschied nicht nur darin, dass der Bezeichnung „moz“ beziehungsweise „webkit“ vorangestellt wird – siehe „mozFullScreen“ und „webkitIsFullScreen“.
Die Funktion fragt jeweils für den W3C-Standard und die Varianten für Mozilla und Webkit ab, ob das betsprechende Element im Vollbild ausgeführt wird oder nicht und startet beziehungsweise beendet den Vollbildmodus.
Auf Starten und Beenden des Vollbildmodus reagieren
Mit dem Ereignis „fullscreenchange“ kann man auf das Starten und Beenden des Vollbildmodus reagieren. Gerade wenn der Modus über die Escape-Taste beendet wird, hat man mit dem Ereignis die Möglichkeit, auf das Beenden immer zu reagieren:
document.addEventListener("fullscreenchange", vollbild_verlassen, false);
document.addEventListener("mozfullscreenchange", vollbild_verlassen, false);
document.addEventListener("webkitfullscreenchange", vollbild_verlassen, false);
So lassen sich über die Funktion „vollbild_verlassen()“ zum Beispiel Informationen beim Starten oder Beenden ein- oder ausblenden oder Größen anpassen.
Stylesheet-Anpassungen für den Vollbildmodus
Über die CSS-Pseudoklasse „:fullscreen“ lassen sich speziell für den Vollbildmodus vorgesehene Eigenschaften definieren:
:fullscreen p, :-moz-full-screen p, :-webkit-fullscreen p {
color: #ffffff;
}
Im Beispiel wird bei allen P-Elementen die Textfarbe in weiß geändert, insofern der Text im Vollbild dargestellt wird. Auch hier müssen Vendor-Angaben berücksichtigt werden. Auf diese Weise lassen sich alle im Vollbild dargestellten Inhalte anders gestalten.
Nutzt ihr die Fullscreen-API bereits? Wofür setzt ihr sie ein und welche Erfahrung habt ihr damit gemacht?
Weiterführende Links zum Thema JavaScript:
- Informationsseite zur Fullscreen-API
- JavaScript: Umfassender Zugriff auf DOM-Elemente mit „querySelector()“
- Experimenteller Firefox nutzt JavaScript für Gamepad-Spielsteuerung
- JavaScript: Mit File-API auf lokale Dateien zugreifen
- JavaScript: Mehrfingergesten erkennen und einsetzen
- Nützliche JavaScript Libraries und Coding Tools





14 Answers
von Leif Janzik 02.02.2012 (13:39Uhr) 1.
freue mich schon, wenn die Fullscreen API auch auf Mobilen Geräten verfügbar ist
von Felix 02.02.2012 (13:40Uhr) 2.
Demo! Demo! Demo! ;)
von David Gmp via facebook 02.02.2012 (13:41Uhr) 3.
Code-Beispiele ohne Demo kann man doch nicht machen!!!
von Michael - der aus Berlin 02.02.2012 (13:52Uhr) 4.
Tolle Sache, bin mal gespannt wann die ersten Werbetreibenden auf die Idee kommen Werbeflächen oder geklickte Banner im Fullscreenmodus laufen zu lassen.
von Stephan Strittmatter 02.02.2012 (15:04Uhr) 5.
Ja, bei den Ads wäre das echt lästig. Es sollte auf jeden Fall eine fest definierte Position zum "zu-X-en" geben, damit man diese nicht beliebig verstecken kann.
Ein Kollege von mir hat erst einen Blog-Beitrag über Videoplayer mit HTML5 verfasst. Für solche HTML5-Videoplayer ist natürlich der Fullscreen auch immer ein k.o.-Kriterium gegenüber den Flash-Playern gewesen.
Für Videos ist das auf jeden Fall ein tolles Feature!
von Jürgen Rabe 02.02.2012 (15:45Uhr) 6.
Ein paar nützliche Links hatte ich noch zusammengetragen als ich mich tiefer mit der Fullscreen API beschäftigt hatte :) So bietet sich ggf. die Verbindung einer Lightbox-Variante mit dem Fullscreen-Modus an... aber hier noch ein paar Links, vielleicht hilft ja noch jemanden...
Demo 1: http://robnyman.github.com/fullscreen/
Demo 2: http://html5-demos.appspot.com/static/fullscreen.html
Ergänzende Infos
https://wiki.mozilla.org/Gecko:FullScreenAPI
http://caniuse.com/fullscreen
https://developer.mozilla.org/en/DOM/Using_full-screen_mode
von Javascriptkiddie 02.02.2012 (19:48Uhr) 7.
Tolle Sache, bin mal gespannt wann die ersten Werbetreibenden auf die Idee kommen Werbeflächen oder geklickte Banner im Fullscreenmodus laufen zu lassen.
... und ESC wird unterdrückt, damit man aus dem Fullscreen bloß nicht mehr wieder rauskommt. Sollte in Javashit kein Prob sein.
von Tim 02.02.2012 (23:54Uhr) 8.
na super, schon wieder muss man Browserweichen einbauen, können die sich denn nie einigen, wie ich das hasse. Naja, zumindest gibts schon mal eine Möglichkeit, das ist besser als nichts
von Stephan Strittmatter 03.02.2012 (10:23Uhr) 9.
@Tim: Das ist doch ein Feature, wo die anderen Browser sicher bald auch nachziehen werden, oder nicht?
von Fullscreen-API: So funktioniert der Voll… 03.02.2012 (12:47Uhr) 10.
[...] background-position: 50% 0px; background-color:#222222; background-repeat : no-repeat; } t3n.de - Today, 12:47 [...]
von christian 03.02.2012 (13:40Uhr) 11.
Demo pls!
von Linkhub – Woche 05-2012 05.02.2012 (22:20Uhr) 12.
[...] Fullscreen-API: So funktioniert der Vollbildmodus mit JavaScript und CSS » t3n News [...]
von JavaScript: Klassen mit ClassList-API zu… 09.02.2012 (16:16Uhr) 13.
[...] Fullscreen-API: So funktioniert der Vollbildmodus mit JavaScript und CSS [...]
von JavaScript: Mit Page-Visibility-API die… 16.02.2012 (09:33Uhr) 14.
[...] Fullscreen-API: So funktioniert der Vollbildmodus mit JavaScript und CSS [...]